我编写了以下简单程序,它应该打印出 pygame.event.get()
检测到的所有事件。
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。
我想我直接遗漏了一些东西,但我在网上找不到任何类似的东西。任何帮助将非常感激。
最佳答案
如果您在 virtualenv 中工作,请不要使用 virtualenv
命令。
使用 python3 -m venv
。
然后安装pygame(例如 pip3 install hg+http://bitbucket.org/pygame/pygame
)。
参见 this thread有关此问题的更多详细信息。
关于python - Pygame只检测鼠标事件,不检测KEYDOWN事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42512141/