这可能是pygame2.3.0版本中的一个已知问题。pygame.key.get_pressed()在pygame2.3.0版本中的实现方式已经改变了,它现在使用了一个新的系统来处理多个键的输入。与之前版本不同,pygame.key.get_pressed()现在处理所有键的输入,包括控制键和非字母数字键,这可能会导致输入的字母键失效。
解决方案是使用pygame.event.get()获取按键事件,这将返回每个键按下和松开的事件,然后你可以检查哪个键被按下或松开。在你的代码中,你可以使用下面的代码来检查q键是否被按下:for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
sys.exit()
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_q:
print('这边是重点')
这个代码段将处理所有按键事件,并检查是否按下了q键,如果是,它将打印出"This is important"。注意,这个代码段应该放在keys = pygame.key.get_pressed()之前,因为它处理每个按键事件并将其从事件队列中移除。 |