Я работаю над программированием игры. В этой игре есть объект, который нужно повернуть, чтобы столкнуться с другим объектом.
Код:
Вот что я сделал:
//targetAngle is defined to be the angle pointing towards the other object
//angle is the angle of this object
angle += 0.05 * (targetAngle - angle);
Проблема:
Это работает очень хорошо, но объект часто вращается очень непрямым путем. Например, если объект был направлен на 3 часа, а ему нужно было повернуться на 5 часов, объект может двигаться против часовой стрелки, а не по часовой стрелке, что более желательно.
Я хотел бы, чтобы объект вращался самым прямым образом. Есть идеи, как это сделать?
Спасибо за ваше время и вклад. Если вы проголосовали против, сообщите мне, почему, чтобы я мог улучшить этот вопрос.
Обратите внимание, что в этой программе я использую радианы.
angle
иногда больше, чемtargetAngle
. Я постараюсь устранить отрицательную разницу. - person Progo   schedule 27.01.2015