Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pygame';s pygame.event.get()';到今天为止,s的关键值是一个荒谬的数字,为什么?_Python_Pygame - Fatal编程技术网

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。高阶位中可能有标志。