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
这解决了问题。你不知道我花那么多时间试图解决这个问题有多愚蠢。我甚至没有试图解决真正的问题。谢谢。这解决了问题。你不知道我花那么多时间试图解决这个问题有多愚蠢。我甚至没有试图解决真正的问题。谢谢