微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Pygame 中同时做某事?

如何解决如何在 Pygame 中同时做某事?

我在 Pygame 中制作了 PvP 游戏,但我遇到了问题。 我需要同时按下键盘上的两个键(每个键的作用不同),但我不能。 我能做什么? 我应该使用线程吗?如何? 顺便说一下,我使用的是 Mac OS X Catalina、Python 3 和 Pygame 2.0.0。

解决方法

pygame.key.get_pressed() 返回一个包含每个键状态的列表。如果某个键被按下,则该键的状态为 True,否则为 False。使用 pygame.key.get_pressed() 评估按钮的当前状态。

例如,如果要测试 ab 是否同时按下:

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,了解如何一次做多件事。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。