我正在使用 Pygame 制作一个简单的游戏,您必须在其中获得(通过将光标移到它们上方)将出现在屏幕上的所有圆圈(每秒会出现更多圆圈)。代码很长,所以我做了一个示例代码。此代码工作正常,Pygame 窗口根本不会变得无响应:
import pygame, random, sys
pygame.init()
window=pygame.display.set_mode((480,360))
end_program=False
while not end_program:
for event in pygame.event.get():
if event.type==pygame.QUIT or pygame.key.get_pressed()[pygame.K_ESCAPE]: #If the user either click the "x", or pressed the "esc" key
end_program=True
pass
pygame.quit()
sys.exit()
但是,在我的游戏中,为了让用户可以选择再次玩,我需要将所有内容包装end_program
在另一个循环中。在显示的示例中,这是break_from_second_loop
:
import pygame, random, sys
pygame.init()
window=pygame.display.set_mode((480,360))
end_program=False
while not end_program:
for event in pygame.event.get():
if event.type==pygame.QUIT or pygame.key.get_pressed()[pygame.K_ESCAPE]: #If the user either click the "x", or pressed the "esc" key
end_program=True
break_from_second_loop=False
while not break_from_second_loop:
pass
pygame.quit()
sys.exit()
现在,如果运行它,窗口将变得无响应!任何人都知道为什么像将代码包装在另一个循环中(根本不改变代码)这样简单的事情会这样做吗?