如何在波浪中制作弹丸旅行

时间:2014-05-07 08:51:14

标签: java libgdx 2d

我一直试图让我的射弹旅行成波,但我无法弄清楚,怎么做。现在我的子弹朝向屏幕的右侧。这是我的代码:

public class Projectile {

    protected Vector2 position;
    protected Vector2 velocity;

    public Projectile(float x, float y){

        position = new Vector2(x, y);
        velocity = new Vector2(50, 0);
    }

    public void update(float delta){

        position.add(velocity.cpy().scl(delta));
    }
}

我在网上看到了我可以使用的函数Math.sin()Math.toRadians(),但我不知道如何使用它们或实现它们。

我在velocity.y += Math.sin(Math.toRadians(50))前沿着position.add的路线尝试了一些东西,我的射弹以一条漂亮的曲线往下走,但我根本不知道我在做什么!我希望能够改变波的幅度和频率。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

好的解决方案应该很简单:

你在做什么atm:你有一个2D位置。现在你向它添加一个2D矢量,它代表你的速度(50, 0) * delta,其中delta是经过的时间。 现在想想如何用正弦函数表示你的x和y方向变化。这根本不难,只是数学。