Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   посоветуйте годный твинер (http://www.flasher.ru/forum/showthread.php?t=211205)

undefined 12.07.2015 12:37

посоветуйте годный твинер
 
всю жизнь использовал классический флэшевый твин(fl.transitions.Tween). При этом делаю такой хак:
Код AS3:

private var tween:Tween;
public function startAnim():void {
    if (tween) {
        tween.fforward();
    }
    tween=new Tween(null,"",Regular.easeIn,0,2,0.2,true);
    tween.addEventListener(TweenEvent.MOTION_CHANGE,doAnim,false,0,true);
    tween.start();
}
private function doAnim(e:TweenEvent):void {
    if (tween.position <=1) {
        // анимация исчезновения
    } else if (tween.position >1) {
        // анимация появления
    } else if (tween.position==2) {
        //конец анимации
        tween.removeEventListener(TweenEvent.MOTION_CHANGE, doAnim);
        tween.stop();
        tween = null;
    }
}

Такой подход дает максимальную гибкость и позволяет одним методом скриптовать целые фильмы.Но вот наш дизайнер просит заанимировать разом 70-80 объектов в кадре и т.к. борьба идет за каждый такт, боюсь стандартный твин тут не сдюжит.Посоветуйте, плз, сторонний твинер что бы:
1) Был бесплатный
2) Предоставлял аналогичную гибкость
3) Рвал стандартный твин по производительности

caseyryan 12.07.2015 13:09

TweenLite, Caurina tweener

undefined 12.07.2015 13:13

caseyryan, а не покажешь пример кода-аналога из первого поста в исполнении, скажем,твинЛайта?

Добавлено через 5 минут
Мне крайне не нравится требование привязывать все к свойству анимируемого объекта, а если мне надо заанимировть,свойство text у текст филда?

Добавлено через 33 минуты
вопос скорее в том, есть ли у твинлайта хэндлер типа обычного TweenEvent.MOTION_CHANGE?

udaaff 12.07.2015 14:01

http://greensock.com/tweenlite-as

undefined 12.07.2015 14:05

Это я видел, но, похоже, твинлайт не позволяет следить за чем-нибудь типа tween.position
Что сильно ограничивает область его применения

illuzor 12.07.2015 14:09

undefined, есть TimelineLite/TimelineMax, который позволяет собирать анимации в виртуальные таймлайны и управлять ими, как угодно.

undefined 12.07.2015 14:29

Цитата:

есть TimelineLite/TimelineMax
Да, что-то близкое у них даже есть колбэк onUpdate.Но вот вопрос как внутри этого колбэка получить текущую позицию анимации?

illuzor 12.07.2015 14:32

undefined, в документации всё есть. http://greensock.com/asdocs/
Метод progress() возвращает позицию от нуля до единицы.

undefined 12.07.2015 14:59

illuzor,спасибо поковыряюсь.
2 all:Кто-нибудь может сказать из-за чего тормозит штатный твин и почему его рвут все сторонние?
Если поработать дебагером становится ясно, что штатный твин использует enterFrame.Может с этим связаны тормоза? Как тогда остальные делают? Через таймер?

Zebestov 12.07.2015 15:00

Eaze Tween — наше все!


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

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