Python Pygame Event.key返回

Python Pygame Event.key返回,python,pygame,keyboard-events,Python,Pygame,Keyboard Events,使用带有PyDev插件的python3.3、pygame1.9、PygCurse和Eclipse 我有一个简单的循环,当玩家按enter键时我需要退出。使用input()是不可接受的替代方法,因为循环最终将根据按下的键执行不同的操作。所以本质上,我需要测试按下哪个键,然后执行一个动作。我目前只测试回车键。以下是循环: while 1: event = pygame.event.poll() if event.type == pygame.QUIT: brea

使用带有
PyDev
插件的
python3.3
pygame1.9
PygCurse
Eclipse

我有一个简单的循环,当玩家按enter键时我需要退出。使用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'

我从中看到的所有示例都使用
event.key
来识别按下了哪个键,因此我要么明显缺少了上面代码中的某些内容,要么缺少了某种语法更改,我只看了一些旧示例。

您的问题可以通过简单地将
&
更改为
来解决。Python使用
进行逻辑“和”比较<代码>&
用于按位“和”比较

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

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

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

这解决了问题。你不知道我花那么多时间试图解决这个问题有多愚蠢。我甚至没有试图解决真正的问题。谢谢。这解决了问题。你不知道我花那么多时间试图解决这个问题有多愚蠢。我甚至没有试图解决真正的问题。谢谢