问题描述
我在 Pygame 中制作了 PvP 游戏,但我遇到了问题。 我需要同时按下键盘上的两个键(每个键的作用不同),但我不能。 我能做什么? 我应该使用线程吗?如何? 顺便说一下,我使用的是 Mac OS X Catalina、Python 3 和 Pygame 2.0.0。
解决方法
pygame.key.get_pressed()
返回一个包含每个键状态的列表。如果某个键被按下,则该键的状态为 True
,否则为 False
。使用 pygame.key.get_pressed()
评估按钮的当前状态。
例如,如果要测试 a 和 b 是否同时按下:
keys = pygame.key.get_pressed()
if keys[pygame.K_a] and keys[pygame.K_b]:
# do somthing
# [...]
但是,您不需要同时做事情。在同一个框架中做事情就足够了。显示每帧仅更新一次。在同一帧中发生的所有事情似乎都是同时发生的。 阅读How to run multiple while loops at a time in Python,了解如何一次做多件事。