2016-06-19 22 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