pygame重力跳跃并试图降落在平台上无法有效工作

时间:2019-04-23 20:15:48

标签: python pygame

我正在尝试在游戏中创建一个跳跃系统和一个重力,以便玩家可以在重力作用下工作并能够跳到平台上并停留在平台上,直到玩家离开平台为止,在这种情况下它将掉落

我试图在pygame上创建一些引力并进行跳转。但是它不能像游戏中的典型重力那样正常工作,当我尝试着陆时,我会立即直接通过平台

class Player:
    def __init__(self, x, y, pic_one):
        self.xpos = x
        self.ypos = y
        self.speed_y = 0
        self.speed_x = 0
        self.picture = pic_one

    def update(self):
        self.xpos += self.speed_x
        self.ypos += self.speed_y

    def draw(self):
        screen.blit(self.picture, (self.xpos, self.ypos))

 player_one = Player(30, 600, player_one_first_pic)

 while True:
     [...]

     if event.type == pygame.JOYBUTTONDOWN:
            if joystick.get_button(0):
                player_one.speed_y = -8



     if player_one.rect.bottom == wood_platform.rect.top:
         player_one.speed_y = 0

     if player_one.rect.bottom == gravel.rect.top:
         player_one.speed_y = 0

    player_one.update()
    player_one.draw()

实际结果是精灵确实跳了起来,但没有正确撞到地面,并且有跳跃的边界,还有一个事实是可以进行空中跳跃,这是我在游戏中不满意的: (如果您确实需要更多了解,请参见以下图表:) diagram of what I mean

0 个答案:

没有答案