Поворот без косяков!
Данная проблема наверно встречалась у всех, вам хотелось всего лишь повернуть плавно спрайт? Но при переходе из -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
Комментарии
13.12.2010 17:44 | |
Спасибо! давно искал подобный скрипт
|
13.12.2010 19:27 | |
Через rotation вообще некрасиво вращается, лучше через матрицу трансформации http://www.greensock.com/tweening-tips/
|
17.12.2010 14:25 | |
а я б назвал переменные delta и target, или targetRotation
|
21.01.2011 23:36 | |
Это моментальное вращение?
|
Последние записи от PeTa4eK
- Flare3D 2.0 и первый эксперимент (23.10.2011)
- Поворот без косяков! (13.12.2010)