Pygame Event.key返回

时间:2013-09-02 15:15:10

标签: python pygame keyboard-events

Python 3.3Pygame 1.9PygCurseEclipsePyDev插件一起使用

我有一个简单的循环,我需要在玩家按下回车时退出。使用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来识别正在按下哪个键,所以我显然在上面的代码中遗漏了某些内容,或者有某种语法更改,我错过了,我只是看旧的例子。

1 个答案:

答案 0 :(得分:0)

只需将&更改为and即可解决您的问题。 Python使用and进行逻辑“和”比较。 &用于按位“和”比较。

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