pygame怎么实现对键盘的连续监控

2021-04-06 14:11发布

5条回答


看代码,题主应该是在用pygame,持续输入我理解为按住某个键。因为没有使用过pygame,我查了一下官方文档,发现两个method (function)是否满足需求,没有测试,不保证有效。

  • 启用设置

pygame.key.set_repeat()

       control how held keys are repeated

set_repeat() -> None
set_repeat(delay, interval) -> None

When the keyboard repeat is enabled, keys that are held down will generate multiple pygame.KEYDOWN events. The delay is the number of milliseconds before the first repeated pygame.KEYDOWN will be sent. After that another pygame.KEYDOWN will be sent every interval milliseconds. If no arguments are passed the key repeat is disabled.       When pygame is initialized the key repeat is disabled.

从上面介绍可以看出,pygame默认禁用了这个模式。需要自己设置两次KEYDOWN事件的之间的时间,应该是越短越好。

  • 获取输入

pygame.key.get_repeat()

       see how held keys are repeated

get_repeat() -> (delay, interval)

When the keyboard repeat is enabled, keys that are held down will generate multiple pygame.KEYDOWN events. The delay is the number of milliseconds before the first repeated pygame.KEYDOWN will be sent. After that another pygame.KEYDOWN will be sent every interval milliseconds.

When pygame is initialized the key repeat is disabled.

New in pygame 1.8.

pygame默认模式没有开启这个模式,所以先用set,然后用get获取输入,并重复。注意最后一句,版本1.8以上才行。


一周热门 更多>