このコードは、XNAフレームワークで構築されたゲームから取得されました。三角法と物理学の観点から、それがどのように機能するかについて説明したいと思います。
ball.velocity = new Vector2((float)Math.Cos(cannon.rotation)、(float)Math.Sin(cannon.rotation));
ball.rotationは、私が考えるべきスプライトの回転、ラジアンです。
なぜ彼らはラジアン単位の角度を使用してx位置を見つけるだけで、同じことを斜辺が指している方向のy位置を見つけることができるのですか。
私がこれを尋ねた理由。このフレームワークがtrigの計算をどのように行うかを感じてみたいと思います。マウスがある方向にスプライトを回転させようとしています。つまり、xとyがわかっているので、角度が必要です。
したがって、ここには2つの質問があります。上記のコードを説明し、既知の点の方向にスプライトを向けます。
アップデート:
xnaは逆座標系を使用しているため、オブジェクトが存在する点aは(0,0)ではないことがわかりました。だから今私が持っている変数はこれらです:
オブジェクトのポイント。マウスのポイント。