python - Pygame 混合重复按键和单次按键

标签 python key pygame keypress

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

在我的例子中,我想混合使用可以按住的键和只能识别一次的键。具体来说,我希望能够移动(通过按住键),但我希望每个发射导弹都需要按一个键。

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

最佳答案

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

另一种选择是,您可以为您想要重复的键保留一个状态跟踪器,并且每隔一段时间就轮询一次该状态(例如,每隔 X 毫秒,查看键是否被标记为'按下',如果是,请为该按键做任何应该做的事情)。

关于python - Pygame 混合重复按键和单次按键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9091073/

相关文章:

python - pygame 中的新循环的变量值无法正确更新

python - 如何使用 python 更改打印机首选项设置

hash - 可变 HashMap 键是一种危险的做法吗?

python - 使用 pygame.midi 播放 midi 音符时出现段错误

java - 如何使用 SecureRandom.getInstanceStrong() 生成 key ?

javascript - 如何使用循环将 key 对添加到对象文字中——而不覆盖现有条目?

python - pygame - 按住按钮

python - 使用 bottle.py 为静态文件设置 cookie

python - 值错误: arrays must all be same length in python

python - 根据列中的值删除行中的值,然后在 Pandas 中将单元格拆分为多行