Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Регистрация Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Блоги > PeTa4eK

Оценить эту запись

Поворот без косяков!

Запись от PeTa4eK размещена 13.12.2010 в 09:29
Обновил(-а) iNils 13.12.2010 в 11:19

Данная проблема наверно встречалась у всех, вам хотелось всего лишь повернуть плавно спрайт? Но при переходе из -180 в 180 происходит неправильный расчет поворота? Тогда этот код для вас =)

Глючный плавный поворот:
Код AS3:
Код AS3:
rotation += (NeedRotation - rotation) / 2
С учетом перехода границ:
Код AS3:
var DeRotation:Number = NeedRotation - rotation;
if (DeRotation > 180) {
	DeRotation = -180 - (360 - (NeedRotation - rotation));
} else if (DeRotation < -180) {
	DeRotation = 180 + (360 - (-NeedRotation + rotation));
}
rotation += DeRotation / 2
NeedRotation - Нужный вам поворот
rotation - Текущий поворот
DeRotation - Сдвиг

Вот так всё просто =)
Всего комментариев 6

Комментарии

Старый 13.12.2010 17:44 gloomyBrain вне форума
gloomyBrain
 
Аватар для gloomyBrain
Спасибо! давно искал подобный скрипт
Старый 13.12.2010 19:27 fljot вне форума
fljot
Через rotation вообще некрасиво вращается, лучше через матрицу трансформации http://www.greensock.com/tweening-tips/
Старый 13.12.2010 19:32 dark256 вне форума
dark256
 
Аватар для dark256
О да! Проблема ужасающая с этими углами. Чутка бы пораньше А я сидел тупил и не мог понять откуда глюки лезут. Потом дошлО и тоже такое же написал. Причем думал то в АС3 это уберут. Я на АС2 пишу
Старый 17.12.2010 14:25 TERRORist вне форума
TERRORist
 
Аватар для TERRORist
а я б назвал переменные delta и target, или targetRotation
Старый 21.01.2011 23:35 semenyakinVS вне форума
semenyakinVS
Цитата:
Через rotation вообще некрасиво вращается, лучше через матрицу трансформации
О да!.. Считать дофига никому не нужной математики и делать работу вирутальной машины - это полюбому лучше!

Проблема действительно есть. Решаю похоже, но вот этого не очень понял:
Цитата:
rotation += DeRotation / 2
Старый 21.01.2011 23:36 semenyakinVS вне форума
semenyakinVS
Это моментальное вращение?
 
Последние записи от PeTa4eK

 


Часовой пояс GMT +4, время: 19:03.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2021, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.