私は(おそらく単純な)タスクを実行しています。このタスクでは、描画されたオブジェクトをユーザー制御の(描画された)ものに移動させたいと考えています。私が持っているのは、それぞれ Xp と Yp として定義されたプレーヤー X と Y 座標だけです。(トリガーの後、ここのコードには含まれていません) 'player-object' に移動する必要があるオブジェクトには、this.X と this.Y で定義された座標があります。
int xDirection = Xp - this.X;
int yDirection = Yp - this.Y;
int angleInDegrees = (int)Math.Atan2(xDirection, yDirection);
double radians = (Math.PI / 180) * angleInDegrees;
double xTmp = 3 * Math.Cos(radians);
int xSpeed = (int)xTmp;
double yTmp = 3 * Math.Sin(radians);
int ySpeed = (int)yTmp;
Console.WriteLine(xDirection);
Console.WriteLine(yDirection);
Console.WriteLine(xSpeed);
Console.WriteLine(ySpeed);
Console.ReadLine();
これでは正しい数字が得られないので、何が間違っているのだろうと思っていました。
これについておそらく最も困難な点は、プレーヤー オブジェクトに移動する必要があるオブジェクトがすべての側面 (360 度) からアプローチされる可能性があるという事実ですが、利用可能なアプローチの角度はありません。
質問を締め切りたいと思います、ティム