У моих игровых юнитов есть переменная угла и переменная targetAngle. Эти переменные находятся в диапазоне от 1 до 360 градусов.
Переменная угла всегда должна двигаться к переменной targetAngle.
Проблема в том, что это не происходит кратчайшим путем. Когда targetAngle равен 350 градусов, а текущий угол составляет всего 10 градусов, переменная должна двигаться только на 20 градусов, а не увеличиваться на 340 градусов, как сейчас.
Как заставить переменную угла двигаться к переменной targetAngle кратчайшим путем?
Живая демонстрация: http://jsfiddle.net/zNsbc/
var angle = 10;
var targetAngle = 350;
setInterval(function() {
if ( angle > targetAngle ) {
angle--;
}
else if ( angle < targetAngle ) {
angle++;
}
$("#angle").text(angle);
}, 10);