我正在 pygame 中编写一个代码,用户可以在其中同时按住多个键,但是我在使用以下代码行时遇到了一些奇怪的行为:

print(pygame.key.get_pressed()[273:277])

该行的目的是检测当前按下了哪些箭头键(它使用该范围是因为位置 pygame.key.get_pressed()[273:277] 元素对应于 4 个箭头键)。

当我单独按下 4 个箭头键中的任何一个时,它都能正确打印,但我发现如果我一次按住 2 个以上的箭头键,某些键就会停止出现。例如,按住 Up、Right,然后按 Left 似乎没有任何作用

起初,我认为这只是我的键盘一次无法检测到超过 2 个按键,但我认为这不是正在发生的事情,因为我注意到如果我按住 Up 和 Down,然后按下左,它不会记录我持有左。但是,如果我按住 Up 和 Down,然后按 Right,它会记录第三次按下按钮。

任何帮助表示赞赏,谢谢!

最佳答案

实际上,这是您的键盘在工作。

游戏设计师众所周知,有一些按键组合可以工作,有些则不能。根据这个 link ,他们的游戏有多个与他们用来开火和移动坦克的键组合相关的错误。如果可以,最好使用更易识别的键,或者只是找到可以工作的键组合,在这种情况下,它将是 4 次 4 次 4 次 4 次 4 至少 256 个组合,您可以通过...一个程序。

关于python - Pygame 的问题并持有多个 key ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34601072/

10-12 13:03