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