【问题标题】:Pygame screen dosen't closePygame 屏幕没有关闭
【发布时间】:2022-01-23 04:53:55
【问题描述】:

我是 Macbook 用户,最近才开始学习使用 python 编程游戏。 我的问题是每次我尝试关闭屏幕时它都不会关闭。

import pygame
import sys
pygame.init()
width = 800
hight = 600
screen = pygame.display.set_mode((width , hight))
game_over= False
while not game_over:
    for event in pygame.event.get(): 
           if event.type == pygame.QUIT :
               sys.exit()

当我将光标指向屏幕时,它会变成一个圆圈...Cursur,所以通常我只需按强制退出“on the snake icone”在停靠栏中 那么我该如何解决这个问题并通过按下关闭按钮来关闭屏幕呢? 我正在使用python 3。 谢谢。

【问题讨论】:

  • 你说 while not game_over: .... 但问题是你说 game_over = True 所以循环永远不会运行。设置game_over = False
  • 你说得对,但我还有第二个问题。
  • 您没有 FPS 限制时钟。将clock = pygame.time.Clock() 放在您声明变量的位置。并执行clock.tick(60)(将其放在最后的主循环中。60 是 FPS / 每秒帧数)。这允许您限制游戏的速度。
  • 不,这不会改变任何事情。但我找到了解决方案:here。但是,我仍然不明白为什么第一个代码不适合我,而是为教程中的人工作。
  • 这个问题已经回答here

标签: python macos pygame anaconda sublimetext3


【解决方案1】:

完整的编辑和测试代码:

import pygame
import sys
pygame.init()
width = 800
hight = 600
running = True
screen = pygame.display.set_mode((width , hight))

while running:
    for event in pygame.event.get(): 
           if event.type == pygame.QUIT :
               pygame.quit()
               sys.exit()

使用 Visual Studio 代码在 Linux mint 上进行测试。测试了5次以上。预期结果。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-24
    • 1970-01-01
    • 1970-01-01
    • 2019-05-27
    • 1970-01-01
    相关资源
    最近更新 更多