在Pygame中,您可以使用pygame.key.set_repeat()设置重复(按住)键检测。
在我的情况下,我想混合可以按下的键和只能被识别一次的键。具体来说,我希望能够移动(通过按住键),但我想要为每个火力导弹按一次键。
为了更清楚,我想识别仅按下移动键(向上,向下,向左,向右等)的按下按键。按住其他键时,只能识别一次。
答案 0 :(得分:2)
每次按下时,您可以为每个按键只保留一个状态跟踪器 - 当您看到KEYDOWN事件时,将标记设置为True
,然后再将其设置为False
看到匹配的KEYUP
。然后,如果该标记尚未KEYDOWN
,则仅响应True
事件。
另一个选项是你可以为你做想要重复的键保持一个状态跟踪器,并且每隔一段时间轮询该状态(例如每隔X毫秒,看看键是否标记为'down'如果是这样的话,那么应该为该按键做任何事情。)