23

2D 空間に回転可能なオブジェクトがあり、その回転角度に従って移動する必要があるとします。

例えば:

  • 角度が 0 (上向き) の場合、on_timerY で 1、X で 0 移動する必要があります。

  • angle が 45 の場合、Y で 1、X で 1 移動する必要があります。

  • 90 度を指す場合は、Y で 0、X で 1 です。

  • 135 度を指す場合、Y で -1、X で +1 など。

これを計算するための関数を知っていますか?

4

2 に答える 2

33

ええと、角度ごとに異なる速度で動くようです。

0 度 (真上) の場合は 1 だけ移動しますが、45 の場合は sqrt(1^2 + 1^2) = 1.41 移動します。

Sin and Cos を見たいと思います。

X += Speed * Math.Cos(angle);
Y += speed * Math.Sin(angle);

よろしくゲルトヤン

于 2011-03-04T11:18:07.267 に答える
1

これをチェックしてください: http://msdn.microsoft.com/en-us/library/system.drawing.drawing2d.matrix.aspx (ページの下部にある例)

于 2011-03-04T11:18:05.757 に答える