オブジェクトとターゲットがあります。彼らはどちらも時間の経過とともに変化するXとZの位置を持っています。C#XNAオブジェクトがX軸とZ軸のターゲットに移動しているかどうかを確認する方法
私は現在の位置と前の位置を追跡します。 ポジションは正または負にすることができます。
現在、オブジェクトが指定されたターゲットに向かって移動しているかどうかを確認する方法を見つけようとしています。
これは私が私の提案はこのように、「この」の間の距離とターゲットを比較することです
if ((Math.Abs(this.previousPosition.X) - Math.Abs(this.currentPosition.X)) > Math.Abs(target.currentPosition.X)
&& (Math.Abs(this.previousPosition.Z) - Math.Abs(this.currentPosition.Z)) > Math.Abs(target.currentPosition.Z))
{
//is moving to target
return true;
}
//is not moving to target
return false;
基本的に(this.previousPosition - this.currentPosition).Magnitude
@AluanHaddad私は大きさがないVector3を使用していますが、同じ長さですか? –
はい、実際にはあなたが望むものを正確に実行する 'Vector3.Distance'静的メンバーがあります。 –