沿着它的运动矢量方向旋转精灵

时间:2012-03-19 17:07:23

标签: c# xna rotation atan2

我有一个XNA Windows Phone游戏,你用加速度计移动一个精灵

我的问题是我无法弄清楚如何让精灵面对它正在移动的方向。 到目前为止,这是我的代码:

        arrowPos.Y += -accelState.X*10; 
        arrowPos.X += -accelState.Y*10;

        rotation = -(float)Math.Atan2(arrowPos.Y, arrowPos.X);

1 个答案:

答案 0 :(得分:0)

您当前的rotation计算使用精灵的当前位置 - 精灵可能处于该位置,无论它是向北还是向西移动。

请尝试使用accelState.XaccelState.Y值。