2016-06-19 16 views
0

我试图弄清楚如何在我的游戏中实现keybindings。按“返回”,玩家应该可以做些事情。识别Python中的“返回”键输入Pygame

但是我不能让我的代码识别玩家何时按下返回键。我的代码如下。我接触到“耶!”部分,但是“bla”永远不会写在命令行上,即使我按下“返回”键一千次......对于为什么会有任何想法?

while True: 

    for event in pygame.event.get(): 
     if event.type == QUIT: 
      pygame.quit() 
      sys.exit() 

     if event.type == KEYDOWN: # tried it with KEYUP aswell. same result. 
      print "yay!" 
      if event.type == K_RETURN: 
       print "bla" 

在此先感谢!

+0

为什么'event.type'有哪些变化? –

回答

2

事件类型属性不会告诉您按什么键。该类型将始终为“KEYDOWN”或“KEYUP”等。按下的实际键存储在键属性中。从pygame的文档:

事件队列中获得pygame.KEYDOWN和pygame.KEYUP事件当按下并释放 键盘按钮。这两个事件都有一个键为 的属性,该属性是表示键盘上每个键的整数ID。

http://www.pygame.org/docs/ref/key.html

因此,也许尝试:

if event.key == K_RETURN:

+0

你打我吧:) – Li357

+0

谢谢! :)修复它 – Cribber