我寫了下面的簡單程序應打印出由pygame.event.get()
檢測到的所有事件KEYDOWN事件。pygame的只檢測鼠標事件,不檢測
import pygame, sys
from pygame.locals import *
display = pygame.display.set_mode((300, 300))
pygame.init()
while True:
for event in pygame.event.get():
print(event)
if event.type == QUIT:
pygame.quit()
sys.exit()
但是,當運行此我只有鼠標事件,和一個KEYDOWN和KEYUP事件時,我打大寫鎖定兩次,被印刷在終端。當我使用任何其他鍵時,它們只會打印到終端,就像我在終端窗口中寫入一樣。
<Event(4-MouseMotion {'pos': (102, 15), 'buttons': (0, 0, 0),
'rel': (-197, -284)})>
<Event(2-KeyDown {'unicode': '', 'scancode': 0, 'key': 301, 'm
od': 8192})>
<Event(3-KeyUp {'key': 301, 'scancode': 0, 'mod': 0})>
wasd
我使用的是Mac OSX 10.12.1,python 3.5.2和pygame 1.9.4.dev0。
我想我失去了一些東西直線前進,但我沒有發現任何類似的在線。任何幫助將非常感激。
你的代碼適用於Python 3.5.2和Pygame 1.9.3。箭頭鍵,WASD,一切。可能是1.9.4dev0中引入的一些錯誤,但我懷疑它。看起來像一個窗口焦點問題給我。你在操作系統和窗口管理器上? – helb
我在當前的OSX上,我會降級到該版本,看看它是否有幫助。謝謝。 –
我在Linux上,可能會有所不同。我會試着用你的版本,但它不在PyPI或它們的Bitbucket上。我在哪裏得到'1.9.4.dev0'? – helb