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

时间:2014-08-11 06:03:08

标签: python pygame 2d

所以我有这个平台游戏,我在pygame编程。我有一个跳转方法,我想在跳转之间添加一个dely。那样我就不会一直跳进天花板。继承人的代码

def jump(self):
    if (self.onGround == True):

        return

    self.velocity = 10
    self.onGround = False

这就是在主游戏循环中调用它的原因:

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

    player.jump()

1 个答案:

答案 0 :(得分:0)

跟踪您上次跳跃的时间,或下次允许跳跃的时间(使用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,但这适用于任何类型。