0

在此处输入图像描述

大家好,我正在开发一个游戏,有两个点,一个是A,一个是B,A点是大炮,另一个是用户有触摸的点。

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

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

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

4

2 回答 2

0

您需要 B 的向量位置减去 A 的向量位置,这将给出从 A 指向 B 的向量。尝试通读一下,如果您要制作游戏,向量的基本知识是必不可少的

于 2015-01-21T09:35:24.930 回答
0

要表示状态,您可以使用以下内容。

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现在,您可以在每个触摸事件(或任何时候)初始化一个新的

Bullet createBullet(Vector2 canonPosition, Vector2 touchPosition) {
    return new Bullet(canonPosition.cpy(), //Initial position of bullet.
                      touchPosition.sub(canonPosition).nor()); // Velocity
}

现在只需将其添加Bullet到舞台并玩得开心。

希望这可以帮助。
祝你好运。

于 2015-01-22T10:30:49.730 回答