环境:python3.7 pygame1.9.6
在写一段需要得到按键的按键名的代码,在网上找到了event.keysym的用法,但是我实现不了 简单的print(event.keysym)就是报错
print(event.keysym)
AttributeError: 'Event' object has no attribute 'keysym'
一开始时我用的python2.x ,报错之后就升级版本到3.x,结果不是版本的问题。
在各种文档里也都找不到event.keysym的使用方法。
于是进入到pygame的官网帮助文档里找,无果。
回到代码
print(event.key)
这个是可以正常输出的 但是输出的是数字 不是键名
在http://www.pygame.org/docs/ref/key.html官网找到了方法
pygame.key.name()
get the name of a key identifier
name(key) -> string
于是使用该方法,可以获取当前事件的键的键名
print(pygame.key.name(event.key))
大段代码如下:
import pygame
from pygame.locals import *
pygame.init()
screen=pygame.display.set_mode((700,400))
while True:
for event in pygame.event.get():
if event.type==QUIT:
exit()
elif event.type == KEYUP:
print(pygame.key.name(event.key))
pygame.display.update()