Pygame motion (механика): почему мой игрок никогда не возвращается на землю? - PullRequest
0 голосов
/ 30 мая 2020

Я уже использовал систему прыжков, которая работает, но мне нужно сделать ее с помощью механики. На данный момент мой персонаж никогда не вернется на землю. Вот мой код:

def jump(self):
        if self.isJumping == False:
            self.isJumping = True

            self.velx = math.cos(self.alpha) * self.v0
            self.vely = math.sin(self.alpha) * self.v0

        else:  
            self.time += 0.01               
            distX =  self.speed * self.velx * self.time
            distY =  self.speed * self.vely * self.time - (((self.time ** 2) * self.gravity) / 2)

            self.rect.x = round(distX + self.rect.x)
            self.rect.y = round(self.rect.y + distY)

И есть часть инициализации моего класса игрока:

        self.isJumping  = False
        self.v0 = 1
        self.alpha = 5
        self.time = 0
        self.velx = 0
        self.vely = 0
        self.gravity = 1

Спасибо за помощь!

...