根据旋转角度计算X Y运动?

时间:2011-03-04 11:13:27

标签: c# rotation game-physics angle

假设我在2D空间中有一个可以旋转的物体,然后应该根据旋转角度移动。

例如:

  • 如果角度为0(向上指向),那么on_timer它应该将Y移动1,将X移动X.

  • 如果角度为45,则应将Y移动1,将X移动1.

  • 如果指向90度,则0表示Y,1表示X.

  • 如果指向135度,则Y为-1,X为+1等

你知道计算这个的任何函数吗?

2 个答案:

答案 0 :(得分:27)

好吧,它似乎以不同的速度移动不同的角度。

对于0度(直线向上),它移动了1,但45岁,它移动了sqrt(1 ^ 2 + 1 ^ 2)= 1.41。

我想你想看看Sin和Cos。

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

关心Gert-Jan

答案 1 :(得分:1)