Pygame : event.type 仅适用于一种情况
Pygame : event.type works only for one case
我的 pygame 代码有问题,它似乎正确但无法正常工作。
我想根据按下的键执行不同的操作;当我放两个案例时,只有一个有效。
我把我的代码放在下面:
gamestate.draw(window)
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.type == pygame.K_ESCAPE):
finis = True
if (event.type == pygame.KEYDOWN and event.key == pygame.K_UP):
print("ok")
pygame.display.update()
在这里,当我按下向上键时,我的代码在终端中打印“ok”,但当我按住退出键时不会退出。
不是这个特殊情况不起作用,在我按下转义键时它退出之前,当我按下向上键时没有打印“确定”。
你有办法解决我的问题吗?非常感谢!
pygame.K_ESCAPE
不是事件类型,但您检查 event.type
:
... and event.type == pygame.K_ESCAPE
应该是:
... and event.key == pygame.K_ESCAPE
通常,如果您必须检查 pygame.KEYDOWN
事件中的多个键,则使用嵌套的 if
s:
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
finis = True
if event.key == pygame.K_UP:
print('ok')
你还需要在循环中只调用一次pygame.display.update
(很可能在最后)而不是两次
我的 pygame 代码有问题,它似乎正确但无法正常工作。
我想根据按下的键执行不同的操作;当我放两个案例时,只有一个有效。
我把我的代码放在下面:
gamestate.draw(window)
pygame.display.update()
for event in pygame.event.get():
if event.type == pygame.QUIT or (event.type == pygame.KEYDOWN and event.type == pygame.K_ESCAPE):
finis = True
if (event.type == pygame.KEYDOWN and event.key == pygame.K_UP):
print("ok")
pygame.display.update()
在这里,当我按下向上键时,我的代码在终端中打印“ok”,但当我按住退出键时不会退出。
不是这个特殊情况不起作用,在我按下转义键时它退出之前,当我按下向上键时没有打印“确定”。
你有办法解决我的问题吗?非常感谢!
pygame.K_ESCAPE
不是事件类型,但您检查 event.type
:
... and event.type == pygame.K_ESCAPE
应该是:
... and event.key == pygame.K_ESCAPE
通常,如果您必须检查 pygame.KEYDOWN
事件中的多个键,则使用嵌套的 if
s:
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_ESCAPE:
finis = True
if event.key == pygame.K_UP:
print('ok')
你还需要在循环中只调用一次pygame.display.update
(很可能在最后)而不是两次