一段典型的pygame获取键盘字符的代码,但是运行时总是进入不了KEYDOWN分支。添加打印后发现按下任何字母键的时候,event是TEXTEDITING,而不是KEYDOWN,所以无法进入KEYDOWN分支。TEXTEDITING将会把所有的输入字符连接成字符串,而不是一个按键一个按键的处理,不符合我的需要。查阅资料后在这段代码之前使用禁止TEXTEDIING后KEYDOWN正常接收。
pygame.key.stop_text_input()
for event in pygame.event.get(): print(event) if event.type == pygame.QUIT: running = False pygame.quit() elif event.type == pygame.KEYDOWN: print(event.type) key_name = pygame.key.name(event.key)