Python Pygame';s pygame.event.get()';到今天为止,s的关键值是一个荒谬的数字,为什么?
我的程序曾经运行过下面的代码,当我按下左键时,它工作得非常好。但到今天为止,它突然停止工作,没有代码更改,没有重新安装,没有更新,因为它一直在工作并停止工作Python Pygame';s pygame.event.get()';到今天为止,s的关键值是一个荒谬的数字,为什么?,python,pygame,Python,Pygame,我的程序曾经运行过下面的代码,当我按下左键时,它工作得非常好。但到今天为止,它突然停止工作,没有代码更改,没有重新安装,没有更新,因为它一直在工作并停止工作 #running on windows 10 while True: for event in pygame.event.get(): if event.type == KEYDOWN: print(event) if event.key == 304:#left sh
#running on windows 10
while True:
for event in pygame.event.get():
if event.type == KEYDOWN:
print(event)
if event.key == 304:#left shift
print("worked")
打印(事件)的输出过去是:
现在是:
我知道如何修复它,或者用另一种方式,但是有人知道为什么
“key”
突然变成了一个可笑的数字吗?我的电脑有什么问题吗?它给出的键值弄乱了?如果你不自己写键值代码,那会有帮助的。如果使用预定义的pygame密钥,效果会更好,例如:
为True时:
对于pygame.event.get()中的事件:
如果event.type==KEYDOWN:
打印(事件)
如果event.key==pygame.K\u LSHIFT:
打印(“已打印”)
下面是pygame的预定义键列表
如果要检测是否按下了LEFT,请使用
pygame.K_LEFT
让我参考模块的文档:
可移植性说明:PyGame1和PyGame2中关键常量的整数不同。始终使用密钥常量(K_a
)而不是直接使用整数(97),这样您的密钥处理代码在pygame 1和pygame 2上都能正常工作
可以通过以下方式获得密钥的用户友好名称:
从键盘按钮id常量获取按钮的描述性名称
键盘事件
KEYDOWN
和keydup
(请参见模块)创建具有附加属性的对象。按下的键可以从键
属性中获得。unicode属性提供键盘输入的unicode表示。以十六进制表示,即0x400000E1。高阶位中可能有标志。