1

使用Python 3.3, Pygame 1.9, PygCurse,EclipsePyDev插件

我有一个简单的循环,当玩家按下回车键时我需要退出。使用 input() 是不可接受的替代方法,因为循环最终会根据按下的键执行不同的操作。所以本质上,我需要测试按下了哪个键,然后执行一个操作。我目前只测试回车键。这是循环:

 while 1:
     event = pygame.event.poll()
     if event.type == pygame.QUIT:
        break;
     if (event.type == pygame.KEYDOWN) & (event.key == pygame.K_RETURN):
         break

这返回的错误是:

 if (event.type == pygame.KEYDOWN) & (event.key == pygame.K_RETURN):
 AttributeError: 'Event' object has no attribute 'key'

我见过的所有示例(来自http://nullege.com/codes/search?cq=pygame.event.poll)都event.key用于识别正在按下哪个键,所以我显然在上面的代码中遗漏了一些东西或者我错过了某种语法更改,我只查看旧示例。

4

1 回答 1

1

您的问题可以通过简单地更改&and. Pythonand用于逻辑“和”比较。 &用于按位“与”比较。

while 1:
    event = pygame.event.poll()
    if event.type == pygame.QUIT:
       break
    if (event.type == pygame.KEYDOWN) and (event.key == pygame.K_RETURN):
       break
于 2013-09-02T15:30:38.563 回答