Java 使用libgdx通过向量导出轨迹?

Java 使用libgdx通过向量导出轨迹?,java,android,libgdx,coordinates,cartesian-coordinates,Java,Android,Libgdx,Coordinates,Cartesian Coordinates,各位好,, 我正在开发一个游戏,其中有两个点,一个是a点,另一个是B点,a点是加农炮,另一个是用户触摸的点 我该怎么做才能得到线,比如说无限,从A点开始继续子弹 我的数学技能有点缺乏:/ 有人能推荐一种使用libgdx/java的方法吗?你需要B的向量位置减去a的向量位置,这将给出从a指向B的向量。试着通读一下,如果你要做游戏来表示状态,向量的基本知识是必不可少的,您可以使用类似于下面的内容 public class Bullet extends Actor { private Vect

各位好,, 我正在开发一个游戏,其中有两个点,一个是a点,另一个是B点,a点是加农炮,另一个是用户触摸的点

我该怎么做才能得到线,比如说无限,从A点开始继续子弹

我的数学技能有点缺乏:/


有人能推荐一种使用libgdx/java的方法吗?

你需要B的向量位置减去a的向量位置,这将给出从a指向B的向量。试着通读一下,如果你要做游戏来表示状态,向量的基本知识是必不可少的,您可以使用类似于下面的内容

public class Bullet extends Actor {
    private Vector2 position;
    private Vector2 velocity;

    public Bullet(Vector2 position, Vector2 velocity) {
        this.position = position;
        this.velocity = velocity;
    }

    @Override
    public void act(float delta) {
        super.act(delta);
        // Since newPosition = oldPosition + velocity * time elapsed
        this.position.mulAdd(this.velocity, delta / 1000);
    }

    // Override draw method to handle rendering.
}
现在,您可以在每次触摸事件时或任何时候初始化新项目符号

Bullet createBullet(Vector2 canonPosition, Vector2 touchPosition) {
    return new Bullet(canonPosition.cpy(), //Initial position of bullet.
                      touchPosition.sub(canonPosition).nor()); // Velocity
}
现在只要把子弹放在舞台上,玩得开心就行了

希望这有帮助。
祝你好运。

有一些视频对你来说很有趣,如果你看了,你会学到很多。