Повернуть спрайт в направлении его вектора движения
У меня есть XNA Windows Phone Game, и вы перемещаете спрайт с помощью акселерометра.
Моя проблема в том, что я не могу понять, как заставить спрайт смотреть в направлении, в котором он движется. Пока это мой код:
arrowPos.Y += -accelState.X*10;
arrowPos.X += -accelState.Y*10;
rotation = -(float)Math.Atan2(arrowPos.Y, arrowPos.X);
1 ответ
Решение
Ваш текущий rotation
В вычислениях используется текущая позиция спрайта - спрайт может находиться в той позиции, движется ли он на север или запад.
Попробуйте использовать accelState.X
а также accelState.Y
значения вместо.