我写了下面的简单程序应打印出由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