GreenSock Animation Platform: стандарт 2D-анимации в среде Flash и Javascript

AS3

Greensock — лучший 2D-движок для среды flash и javascript. Он работает быстрее и корректнее, чем другие популярные билиотеки флэша (смотрите сравнительный тест) и быстрее библиотек jQuery, YUI, MooTools и Dojo в среде JavaScript.

Часть 1. Релиз GSAP v12 для AS3

  1. Анимация массива объектов по одному алгоритму:
TweenLite.to ([mc1, mc2, mc3], 1 , {alpha: 0 });
  1. Геттеры-сеттеры в функциях.
  2. Новый метод SlowMo с легкой конфигурацией (плавные эффекты замедления-ускорения), на мой так взгляд намного удобнее, чем настраивать изинги. Видео с демонстрацией
  3. Укороченный синтаксис для таймлайнов:
  4. //OLD (still works):
    var tl:TimelineLite = new TimelineLite();
    tl.append( TweenLite.to(mc, 1, {x:100}) );
    tl.append( TweenLite.from(mc, 1, {y:-100}), 0.5);
    tl.appendMultiple( TweenMax.staggerTo([mc1, mc2], 1, {alpha:0}, 0.2) );
    
    //NEW:
    var tl:TimelineLite = new TimelineLite();
    tl.to(mc, 1, {x:100})
      .from(mc, 1, {y:-100}, 0.5)
      .staggerTo([mc1, mc2], 1, {alpha:0}, 0.2);
    
    1. Слушатель «тиков»
    TweenLite.ticker.addEventListener("tick«, myMethod);
    

    Собственный метод при обновлении событий твинера в каждом кадре.

    1. Некоторые дефолтные изменения в OverwriteManager
    2. В TweenLite добавили TweenLite.fromTo () (раньше был только в Max)
    3. Склеивание методов таймлайна в дот-стиле:
    4. myTimeline.append( ... ).append( ... ).insert( ... ).timeScale( ... );
      
      1. Новая, очень крутая фича TimelineLite.exportRoot () - позволяет захватить все текущие анимации, обернуть их в таймлайн и далее можно приостановить, возобновить, отсрочить без влияния на чайлд-анимацию и еще куча нюансов. Для разработчиков игр — просто рай )
      2. Ссылки на «себя» в onCompleteParams, onUpdateParams, onStartParams, onReverseCompleteParams, or onRepeatParams через ключевое слово «self».
      3. TweenLite.to(mc, 1, {x:100, onUpdate:reportTime, onUpdateParams:["{self}"]});
        function reportTime(tween:TweenLite) {
        trace("time: " + tween.time() + «, target: » + tween.target);
        }
        

        И еще 39 различных нюансов: ссылка

        Статью подготовил FLASH-программист студии Клондайк - Виталий Набережнев.


Оставить комментарий