大家好, 我正在开发一个游戏,其中两个点,一个是A,另一个是B,A点是大炮,另一个是用户触摸的点。
如何获得该线,从A点开始继续说明子弹?
我的数学技能有点稀缺:/
有人可以推荐使用libgdx / java的方法吗?
答案 0 :(得分:0)
你需要B的向量位置减去A的向量位置,这将给出从A到B的向量。尝试阅读this,如果你要去的话,基本的向量知识是不可或缺的制作游戏
答案 1 :(得分: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
添加到舞台并享受乐趣。
希望这有帮助。
祝你好运。