在 pygame 中设置按键之间的间隔 [duplicate]

Setting an interval in-between key presses in pygame [duplicate]

提问人:Yuurei 提问时间:11/10/2023 更新时间:11/10/2023 访问量:35

问:

我想在按下空格键之间设置一个时间间隔,因为能够向按钮发送垃圾邮件以避开障碍物会使我的游戏变得太容易了。

这是我的代码:

   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

任何形式的帮助将不胜感激

蟒蛇 pygame 键盘

评论


答:

-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 中等待一段时间?