【发布时间】:2021-04-09 00:27:12
【问题描述】:
我在 Pygame 中制作了一个 PvP 游戏,但我遇到了问题。 我需要同时按下键盘上的两个键(每个键的作用不同),但我不能。 我能做些什么? 我应该使用线程吗?如何? 顺便说一句,我正在使用 Mac OS X Catalina、Python 3 和 Pygame 2.0.0。
【问题讨论】:
标签: python python-3.x macos pygame keyboard
我在 Pygame 中制作了一个 PvP 游戏,但我遇到了问题。 我需要同时按下键盘上的两个键(每个键的作用不同),但我不能。 我能做些什么? 我应该使用线程吗?如何? 顺便说一句,我正在使用 Mac OS X Catalina、Python 3 和 Pygame 2.0.0。
【问题讨论】:
标签: python python-3.x macos pygame keyboard
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,了解如何一次做不止一件事。
【讨论】: