我正在创建一个 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);