私はXNAゲームを作っており、ベクトル計算のビットを計算する小さな問題に遭遇しました。XNAで回転変換された2D座標を見つけるにはどうすればよいですか?
私はXとYの整数座標と回転フロートを持つ2Dオブジェクトを表すクラスを持っています。私が必要とするのは、Rotation floatを使用して変換されたVector2としてXとYを取得して設定するPositionのVector2プロパティを持つことです。このように私はちょうどのようなことをすることができます。
Position += new Vector2((thumbstick.X * scrollSpeed), -(thumbstick.Y * scrollSpeed));
オブジェクトは、ビューの上方向ではなく、上方向に移動します。
これまでのところ、これは私が持っているものです...私はセットが正しいと思っていますが、+変更のためにもそれが必要です。答えはちょうど今私には来ません...>
public Vector2 Position
{
get
{
// What goes here? :S
}
set
{
X = value.X * (int)Math.Cos(this.Rotation);
Y = value.Y * (int)Math.Cos(this.Rotation);
}
}
その意味ではので、限り、それは私が使用するラジアンの知っている三角関数のすべての実装 – greenoldman
:-)両方の式で同じ単位で測定されたものを単位角度でそれを問題ではありません。それは確かに重要です。この問題を解決するためにコンピュータを使用している場合は、ラジアンを考えてください。 – duffymo