我想在我的平台游戏中添加跳跃之间的延迟



所以我有这个平台游戏,我在pygame编程。我有一个跳跃方法,我想在跳跃之间添加一个延迟。这样我就不会一直往天花板上跳了。下面是代码

def jump(self):
    if (self.onGround == True):
        return
    self.velocity = 10
    self.onGround = False

在主游戏循环中是这样称呼它的:

if (event.key==pygame.K_UP):
    player.jump()

记录你上次跳跃的时间,或者你下次被允许跳跃的时间(使用pygame.time):

def __init__(self, …):
    # ...
    self.next_jump = 0
def jump(self):
    if pygame.time.get_ticks() < self.next_jump:
        return
    # ...
    self.next_jump = pygame.time.getticks() + 500

根据您使用的循环类型(传统事件循环,帧率限制循环,无限帧率循环),可能会有更好的答案,例如,设置计时器或使用Clock,但这将适用于任何类型

最新更新