【问题标题】:Creating a smooth jump animation创建平滑的跳跃动画
【发布时间】:2020-05-28 23:20:17
【问题描述】:

我有一些基本的跳转代码。一旦玩家按下空格键,玩家将开始跳跃,他们的jumpCount 将设置为 20。jumpCount 与玩家的 y 一起递减,直到达到 -20。这段代码的主要问题是,在玩家跳跃后,每次到达地面时,他们最终都会略微降低。

y = 100
jumpCount = 20

while True:
    if keys[pygame.K_SPACE]:
        isJump = True

    if isJump:
        if jumpCount >= -20:
            neg = 1 
            if jumpCount < 0:  
                neg = -1

            y -= (jumpCount ** 2) * 0.05 * neg
            jumpCount -= 1

        else:
            jumpCount = 20
            isJump = False

【问题讨论】:

  • 你的问题的措辞可能需要一点工作。更清晰的解释/示例/图片将非常有用。
  • @MichaelBianconi 什么?混搭空格键只会将isJump 值设置为True,无论如何都会运行检查。

标签: python game-physics


【解决方案1】:

我之前对此感到困惑,但有一个解决方案:尝试将它与着陆表面对齐,在屏幕更新之前更改它,这样人们就不会注意到它,它看起来会移动一点(真的少部分)。 例如:

if player.x < surface.x:
 player.x = surface.x
update()

一点额外的:

如果你想让重力起作用,你可以使用类似的方法来做到这一点,在撞击任何表面时,将重力设置为 0 并将玩家的 x 轴更改为表面的 x 轴

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-19
    • 1970-01-01
    相关资源
    最近更新 更多