问题描述
我被困在这个问题上。我试图将按下的特定键输出到控制台,但此时所有按下的键都输出“2”。将不胜感激!
import pygame
pygame.init()
s = pygame.display.set_mode((640,480))
running = True
while running:
for e in pygame.event.get():
if e.type == pygame.QUIT: #The user closed the window!
running = False #Stop running
# Logic goes here
if e.type == pygame.KEYDOWN:
print(e.type)
pygame.quit()
解决方法
您正在打印事件类型 (KEYDOWN
),因此您始终获得相同的输出。
键盘事件 KEYDOWN
和 KEYUP
(参见 pygame.event 模块)创建一个带有附加属性的 pygame.event.Event
对象。按下的键可以从 key
属性(例如 K_RETURN
、K_a
)获得,mod
属性包含一个带有附加修饰符的位集(例如 {{1} })。 KMOD_LSHIFT
属性提供键盘输入的 Unicode 表示。
可以通过 pygame.key.name()
:
unicode