2D 空間に回転可能なオブジェクトがあり、その回転角度に従って移動する必要があるとします。
例えば:
角度が 0 (上向き) の場合、
on_timer
Y で 1、X で 0 移動する必要があります。angle が 45 の場合、Y で 1、X で 1 移動する必要があります。
90 度を指す場合は、Y で 0、X で 1 です。
135 度を指す場合、Y で -1、X で +1 など。
これを計算するための関数を知っていますか?
2D 空間に回転可能なオブジェクトがあり、その回転角度に従って移動する必要があるとします。
例えば:
角度が 0 (上向き) の場合、on_timer
Y で 1、X で 0 移動する必要があります。
angle が 45 の場合、Y で 1、X で 1 移動する必要があります。
90 度を指す場合は、Y で 0、X で 1 です。
135 度を指す場合、Y で -1、X で +1 など。
これを計算するための関数を知っていますか?
ええと、角度ごとに異なる速度で動くようです。
0 度 (真上) の場合は 1 だけ移動しますが、45 の場合は sqrt(1^2 + 1^2) = 1.41 移動します。
Sin and Cos を見たいと思います。
X += Speed * Math.Cos(angle);
Y += speed * Math.Sin(angle);
よろしくゲルトヤン
これをチェックしてください: http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (ページの下部にある例)