我在 Debian 上使用 Pygame 1.9.1 和 Python 2.7.3,
在我变得更高级之前,我正在尝试让一个小型测试程序正常工作;
事情似乎进展顺利,直到我告诉 Pygame 退出。
我读到你需要pygame.quit(),至少在空闲状态下(以确保它干净地退出),
所以我已经得到了 - 但它仍然冻结了。
相关代码看起来像这样:
def mainLoop():
running = True
clock = pygame.time.Clock()
while running:
gameMode()
render()
key = pygame.key.get_pressed()
for event in pygame.event.get():
if event.type == QUIT or key[K_ESCAPE]:
running = False
print 'finished'
return
clock.tick(30)
if __name__=='__main__':
mainLoop()
print 'exiting after main loop'
pygame.quit()
Run Code Online (Sandbox Code Playgroud)
我运行它,它打印出“完成”和“主循环后退出”,
但即使这样,窗口仍然存在,挂起。
更奇怪的是,
我已将其削减为一个仍然挂起的最小程序(就是这个,完整的):
import pygame
pygame.init()
pygame.quit()
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下这里发生的事情吗?