如何使子弹在相位器 3 中沿光标方向移动?



我正在创建一个 2D 游戏并尝试让子弹向光标移动。我不确定如何做到这一点是我经常拥有的

let xDist = this.game.input.mousePointer.x - this.x;
let yDist = this.game.input.mousePointer.y - this.y;
let angle = Math.atan(yDist/xDist);
this.projectile_sprite.setVelocityX(yDist);
this.projectile_sprite.setVelocityY(xDist);

当弹丸离得更远时,弹丸移动得更快,这不是我想要的。我该如何解决这个问题?

在相位器中,速度基本上是物体向未指定点行进的速度。您将弹丸的速度设置为对象和光标之间的距离,因此当光标远离对象时,它将具有更高的速度,因此移动速度更快。

相反,您希望找到光标的位置并设置弹丸对象向该点移动。既然你使用的是setVelocityX()我假设你使用的是内置的物理库,所以它应该像这样简单:

this.physics.moveTo(this.projectile_sprite, this.game.input.mousePointer.x,
this.game.input.mousePointer.y);

最新更新