这是我的代码
import pygame
import sys
pygame.init()
from pygame import *
from sys import *
pygame.display.set_mode((500, 500))
pygame.time.Clock()
runGame = True
while runGame == True:
currentKeys = pygame.key.get_pressed()
if currentKeys[K_ESCAPE] == True:
runGame = False
pygame.time.Clock().tick(60)
pygame.quit()
sys.quit()
我只想要一个在Esc键上关闭的显示器。该代码有什么问题?
答案 0 :(得分:5)
事件队列可能已满,因此该窗口不会对来自操作系统/窗口管理器的事件做出反应。
请确保在游戏循环中调用pygame.event.get()
(或pygame.event.pump
)。
对于游戏的每一帧,您都需要对事件队列进行某种调用。这样可以确保您的程序可以与操作系统的其余部分进行内部交互。如果您没有在游戏中使用其他事件函数,则应调用pygame.event.pump()以允许pygame处理内部动作。
如果您的程序通过其他pygame.event函数持续处理队列中的事件,则不需要此函数。
事件队列内部必须处理一些重要的事情。主窗口可能需要重新粉刷或响应系统。如果您对事件队列的调用时间过长,系统可能会认为您的程序已锁定。