Поворот без косяков!
Данная проблема наверно встречалась у всех, вам хотелось всего лишь повернуть плавно спрайт? Но при переходе из -180 в 180 происходит неправильный расчет поворота? Тогда этот код для вас =)
Глючный плавный поворот:
Код 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
rotation - Текущий поворот
DeRotation - Сдвиг
Вот так всё просто =)
Всего комментариев 6
Комментарии
|
|
|
Спасибо! давно искал подобный скрипт
|
|
|
|
Через rotation вообще некрасиво вращается, лучше через матрицу трансформации http://www.greensock.com/tweening-tips/
|
|
|
|
а я б назвал переменные delta и target, или targetRotation
|
|
|
|
Это моментальное вращение?
|
Последние записи от PeTa4eK
- Flare3D 2.0 и первый эксперимент (23.10.2011)
- Поворот без косяков! (13.12.2010)












А я сидел тупил и не мог понять откуда глюки лезут. Потом дошлО и тоже такое же написал. Причем думал то в АС3 это уберут. Я на АС2 пишу 