提问人:Yuurei 提问时间:11/10/2023 更新时间:11/10/2023 访问量:35
在 pygame 中设置按键之间的间隔 [duplicate]
Setting an interval in-between key presses in pygame [duplicate]
问:
这个问题在这里已经有答案了:
如何检查键盘按钮是否被垃圾邮件发送,并在再次按下之前添加冷却 (2 个答案)
如何一次阻止超过 1 发子弹射击? (1 个答案)
如何在pygame中获取键盘输入? (12 个答案)
如何在Pygame中使角色跳跃? (1 个答案)
10天前关闭。
我想在按下空格键之间设置一个时间间隔,因为能够向按钮发送垃圾邮件以避开障碍物会使我的游戏变得太容易了。
这是我的代码:
key = pygame.key.get_pressed()
if key [pygame.K_SPACE] and self.jumped == False:
self.vel_y = -20
self.jumped = True
if key [pygame.K_SPACE] == False:
self.jumped = False
if key [pygame.K_a]:
dx -= 6
if key [pygame.K_d]:
dx += 6
任何形式的帮助将不胜感激
答:
-1赞
Jeffrey Drew
11/10/2023
#1
您可以使用 python 中的“time”模块来设置按键调用之间的延迟。 如果你展示更多的代码,我们也许能够给出更合适的输入,但要点是:
import time
key = pygame.key.get_pressed()
if key [pygame.K_SPACE] and self.jumped == False:
self.vel_y = -20
self.jumped = True
if key [pygame.K_SPACE] == False:
self.jumped = False
if key [pygame.K_a]:
dx -= 6
if key [pygame.K_d]:
dx += 6
time.sleep(1) #this forces a 1 second pause,
#you can use it restrict keypress frequency as well
评论
0赞
Rabbid76
11/10/2023
应用程序循环中 1 秒的等待时间会使系统无响应。
0赞
Jeffrey Drew
11/10/2023
明显地。使用 0.1 或一些小但仍然很重要的东西
0赞
Rabbid76
11/10/2023
不。应用程序循环必须持续维护。不能在应用程序循环中插入“睡眠”。请参阅如何在 pygame 中等待一段时间?
评论