问题描述
我使用Pygame 1.9.6和Python 3.7.4。我想按住空格键,它会不断地重复执行相同的操作。我知道如何用KEYDOWN
来按下按钮。我看了一个问题:How to efficiently hold a key in Pygame?寻求答案,但无法理解一个答案:
while not done:
keys = key.get_pressed()
if keys[K_DOWN]:
print "DOWN"
for e in event.get():
pass # proceed other events.
# always call event.get() or event.poll() in the main loop
我没有得到key.get_pressed()
。不是来自Pygame。另外,我假设这是他们编写的函数,但是当我按住“ Key”键时,它不会继续运行该动作,而当释放“ Key”键时,它将停止调用该动作。关于如何真正按下一个按钮或如何制作一个按钮的任何指示?
解决方法
pygame.key.get_pressed()
是功能表单pygame.key
的模块。它返回一个布尔值列表,代表键盘上每个键的状态。
如果要测试是否按下了 SPACE 键,则必须通过订阅获取K_SPACE
的状态:
keys = pygame.key.get_pressed()
if keys[pygame.K_SPACE]:
# [...]