Pygame混合重复按键和单键按键

时间:2012-02-01 05:05:14

标签: python key pygame keypress

在Pygame中,您可以使用pygame.key.set_repeat()设置重复(按住)键检测。

在我的情况下,我想混合可以按下的键和只能被识别一次的键。具体来说,我希望能够移动(通过按住键),但我想要为每个火力导弹按一次键。

为了更清楚,我想识别仅按下移动键(向上,向下,向左,向右等)的按下按键。按住其他键时,只能识别一次。

1 个答案:

答案 0 :(得分:2)

每次按下时,您可以为每个按键只保留一个状态跟踪器 - 当您看到KEYDOWN事件时,将标记设置为True,然后再将其设置为False看到匹配的KEYUP。然后,如果该标记尚未KEYDOWN,则仅响应True事件。

另一个选项是你可以为你想要重复的键保持一个状态跟踪器,并且每隔一段时间轮询该状态(例如每隔X毫秒,看看键是否标记为'down'如果是这样的话,那么应该为该按键做任何事情。)