Pygame 无法在嵌套 while 循环中获取事件
Pygame cant get events inside nested while loop
到目前为止,我已经查看了几个来源,但我似乎无法弄清楚为什么 pygame 不会在我的暂停功能中抓取事件以取消暂停。
def pause():
paused = True
while paused:
for event in pygame.event.get():
if event == pygame.QUIT:
pygame.quit()
quit()
elif event == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
paused = False
请记住,这是嵌套在 运行 游戏的另一个 while 循环中,函数被调用,陷入无限循环,但即使使用 get 键也无法检测到按键以退出功能。有人得到答案了吗?
pygame.event.get()
returns a list of pygame.event.Event()
个对象。您必须测试 event
的 type
属性是否为 pygame.KEYDOWN
:
elif event == pygame.KEYDOWN:
elif event.type == pygame.KEYDOWN:
def pause():
paused = True
while paused:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
paused = False
到目前为止,我已经查看了几个来源,但我似乎无法弄清楚为什么 pygame 不会在我的暂停功能中抓取事件以取消暂停。
def pause():
paused = True
while paused:
for event in pygame.event.get():
if event == pygame.QUIT:
pygame.quit()
quit()
elif event == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
paused = False
请记住,这是嵌套在 运行 游戏的另一个 while 循环中,函数被调用,陷入无限循环,但即使使用 get 键也无法检测到按键以退出功能。有人得到答案了吗?
pygame.event.get()
returns a list of pygame.event.Event()
个对象。您必须测试 event
的 type
属性是否为 pygame.KEYDOWN
:
elif event == pygame.KEYDOWN:
elif event.type == pygame.KEYDOWN:
def pause():
paused = True
while paused:
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
quit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
paused = False