正确的方法来模拟libgdx java中的弹跳

时间:2015-12-08 05:04:35

标签: java libgdx

我正试图找到一种模拟我的3D程序中弹跳的好方法。这是我试图这样做的方式:我说的是如果position.y<限制(即-5)然后反弹回来。这是代码

        if(position.y > LIMITS.y)
            velocity.y += Main.GRAVITY/ 1000;
        else{
            velocity.y = -velocity.y / 1.5f;
            System.out.println(true);
        }

然而,弹跳有时会起作用,有时会停止很短,如果有人知道为什么会这样,并且可以帮助我改善这一点,我会非常感激。

1 个答案:

答案 0 :(得分:1)

所以我认为你的意思是停止非常短暂是它弹跳好然后随机停在底部。这可能是因为物体超过它的距离的50%,它将在y的LIMIT下方的下一帧行进。因此,打击它的方法是将y位置重置到它位置之前的位置。

else {
    position.y -= velocity.y; // reset to position before going under
    velocity.y = -velocity.y / 1.5f; // then adjust the velocity
    System.out.println(true);
}