Показать сообщение отдельно
Старый 09.10.2008, 19:43
Xpb7 вне форума Посмотреть профиль Отправить личное сообщение для Xpb7 Найти все сообщения от Xpb7
  № 2  
Ответить с цитированием
Xpb7

Регистрация: Jul 2008
Адрес: Рига
Сообщений: 176
Цитата:
При тестировании обнаружилась проблема, связанная с углом поворота. Rotation измеряется в градусах от -180 до 180. И если, к примеру, цель находится в -175 градусов, а мы повернуты на 175, то в результате angle будет равен —350 градусов! Турель вместо того, чтобы повернуться на -10 градусов, начнет разворачиваться в другую сторону.

Решается это просто, если результат поворота получился по модулю больше 180 градусов, что не возможно, то отнимаем один оборот (360 градусов):
(из http://www.flasher.ru/forum/showthread.php?t=83431)
Код:
// проблема с переходом -180...180
if (angle>180){
	angle-=360;
} else if (angle<-180){
	angle+=360;
}