Статьи

TimelineLite Ultimate Руководство для начинающих: TimelineMax Особенности

В финале этой серии я рад представить вам функции, которые делают TimelineMax таким особенным. Я также коснусь некоторых специальных трюков, которые вы можете сделать с TimelineLite, чтобы вы могли применять эффекты дикой легкости к общей скорости воспроизведения временной шкалы, которая включает в себя сотни анимаций и вложенных временных шкал. Вы должны увидеть это, чтобы поверить.


SWF ниже содержит один TimelineMax с повторяющимся значением 1 и йо-йо истины. Значения totalTime и totalProgress отражают количество времени, необходимое для выполнения всей последовательности дважды. addCallback() TimelineMax используется для вызова функции, которая обрабатывает обмен глубин addCallback() и куста, чтобы этот двоичный объект мог прыгать за кустом. Этот обмен происходит мгновенно, когда капля завершает свое восходящее движение независимо от того, играет ли временная шкала назад или вперед.

Вы можете найти все файлы, использованные для создания SWF выше, в исходных файлах для этого урока.



Самая популярная функция TimelineMax в том, что вы можете легко сказать, сколько раз повторить. Существует ряд специальных свойств, которые можно передать в объект vars конструктора TimelineMax, которые помогут вам точно настроить, как работает повтор:

  • повторить : сколько раз график должен повториться. Используйте -1, чтобы повторяться бесконечно.
  • repeatDelay : количество времени, которое должно пройти до повторения временной шкалы.
  • onRepeat: функция, которая будет вызываться, как только повторяется временная шкала.
  • yoyo : если установлено значение true, временная шкала будет повторяться в обратном порядке.
tl = new TimelineMax( {repeat: 2, repeatDelay: 1, onRepeat: doSomethingCool, yoyo: true } );

Код выше создаст временную шкалу, которая делает следующее:

  • С самого начала играть вперед.
  • Через одну секунду после завершения анимации doSomethingCool() функция doSomethingCool() , и временная шкала мгновенно начнет воспроизводиться в обратном направлении.
  • Через одну секунду после воспроизведения анимации doSomethingCool() функция doSomethingCool() , и временная шкала будет воспроизводиться мгновенно.

Как только временная шкала повторяется, полезно иметь доступ к ряду свойств, которые учитывают длительность всех итераций и задержек:

  • totalDuration : продолжительность временной шкалы в секундах (или кадры для временных шкал на основе кадров), включая любые повторы или repeatDelays.
  • totalTime : время последнего отображения времени (или кадра для анимации / шкалы времени на основе кадров) в соответствии с его totalDuration.
  • totalProgress : значение от 0 до 1, указывающее общий ход временной шкалы в соответствии с ее totalDuration, где 0 находится в начале, 0,5 завершено наполовину, а 1 завершено.

Стоит отметить, что TimelineLite имеет totalTime totalDuration и totalTime но поскольку TimelineLite не повторяется, они предлагают наибольшее значение при использовании с TimelineMax.

TimelineMax позволяет легко вызывать функции из любой точки времени. Возможно, вы знакомы с процессом добавления обратного вызова onComplete() к отдельной анимации на временной шкале, но addCallback() предлагает два преимущества:

  • addCallback() будут запущены, когда временная шкала будет воспроизводиться вперед И назад.
  • addCallback() не должен быть addCallback() к определенному окончанию анимации

addCallback () Подпись метода :

public function addCallback(callback:Function, timeOrLabel:Array, params:* = null):TweenLite
1
2
3
4
5
6
7
8
tl = new TimelineMax();
tl.append( TweenLite.to( mc, 5, {x:500} ) );
 
tl.addCallback ( doSomethingCool, tl.duration-1, [«Steve»]) );
 
function doSomethingCool(someValue:String):void{
    trace(«Hi » + someValue);
}

Приведенный выше код приведет к появлению фразы «Привет, Стив» на панели вывода за одну секунду до окончания предыдущей анимации.

TimelineLite предлагает аналогичные функциональные возможности, добавляя или вставляя метод TweenLite.delayedCall (), но код немного более подробный.

1
2
someTimelineLite.append( TweenLite.to( mc, 5, {x:500} ) );
someTimelineLite.append( TweenLite.delayedCall( 0, doSomethingCool, [«Steve»] ), -1 );

Один из самых тщательно охраняемых секретов платформы GreenSock Tweening заключается в том, что вы можете использовать TweenLite, TweenMax, TimelineLite и TimelineMax. В видео я сосредоточен на анимации воспроизведения «братьев по шкале времени». Преимущество анимации движения или временной шкалы заключается в том, что вы можете регулировать скорость, с которой он воспроизводится, а также применять замедление.

Этот метод отлично подходит для медленного прекращения анимации в любой момент времени или возобновления игры с приятной непринужденностью. Обратите внимание на приятную легкость, которая применяется при входе или выходе из приостановленного состояния.

Этот метод хорошо подходит для облегчения скорости воспроизведения всей временной шкалы или только сегмента. Обратите внимание на радикальные изменения в воспроизведении временной шкалы при нажатии кнопок Circ In Out и Bounce Out .

Надеемся, что приведенный выше SWF соблазнит вас узнать больше, посмотрев видео и загрузив исходные файлы .


TimelineMax может сделать больше вещей, но я решил сосредоточиться на наиболее часто используемых функциях. Я ознакомил вас со свойством TimelineMax currentLabel и getLabelAfter() в части 4: Работа с метками . Как всегда, я рекомендую прочитать и добавить в закладки документацию TimelineMax, чтобы быть уверенным, что вы получаете максимальную отдачу от выбранных вами инструментов. Я все еще узнаю что-то новое каждый раз, когда я там прохожу.

Для меня было потрясающим опытом поделиться с вами почти тремя часами обучения TimelineLite / Max. Я уверен, что если вы потратите время на просмотр каждого видео и поэкспериментируете с исходными файлами, у вас будет невероятно прочная основа, на которой можно начать опираться. Потенциал того, что вы можете достичь с помощью TimelineLite / Max, практически безграничен. Я искренне надеюсь, что вы так же, как и я, взволнованы тем, что можно сделать с помощью этих удивительных инструментов.

Для тех из вас, кто хочет продолжить свое образование TimelineLite / Max, я уверен, что вы найдете следующие уроки очень полезными:

Я должен выразить особую благодарность Джеку Дойлу из GreenSock за создание этих удивительных инструментов, а также за его поддержку в создании этих видео. Никогда в жизни я не сталкивался с создателем бизнеса или продукта, который настолько старается, чтобы Джек оставил своих клиентов и легионы энтузиастов такими чертовски счастливыми.

Большое спасибо за просмотр этой серии и обратной связи. Если вы хотите связаться со мной по любым вопросам, связанным с TimelineLite / Max, пожалуйста, оставьте комментарий ниже или отправьте электронное письмо. Вы можете найти мой адрес электронной почты в конце видео.

-Carl