在 Pygame 中,您可以使用 pygame.key.set_repeat() 设置重复(按住)键检测。
在我的例子中,我想混合使用可以按住的键和只能识别一次的键。具体来说,我希望能够移动(通过按住键),但我希望每个发射导弹都需要按一个键。
为了更清楚,我只想识别移动键(上、下、左、右等)的按住按键。按住其他键时,应仅识别一次。
最佳答案
您可以为每次按下时只想识别一次的键保留一个状态跟踪器 - 当您看到 KEYDOWN 事件时将标志设置为 True
,然后将其设置为 False
当您看到匹配的 KEYUP
时再次输入。然后仅在标志尚未为 True
时响应 KEYDOWN
事件。
另一种选择是,您可以为您做想要重复的键保留一个状态跟踪器,并且每隔一段时间就轮询一次该状态(例如,每隔 X 毫秒,查看键是否被标记为'按下',如果是,请为该按键做任何应该做的事情)。
关于python - Pygame 混合重复按键和单次按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9091073/