Этот урок - все о TransitionManager в Actionscript 3.0 . Я объясню кратко, что такое класс TransitionManager и как вы можете использовать его в ваших мувиках. В конце этого урока вы сможете создать мувик, как показано выше.
Введение
Класс TransitionManager разрешит вам применить различные эффекты анимации к муви клипам. Здесь в вашем распоряжении 10 различных анимаций. Это: Blinds, Fade, Fly, Iris, Photo, PixelDissolve, Rotate, Squeeze, Wipe и Zoom. Вы можете посмотреть их в действии в мувике выше.
Настройка окружения
1. Создайте новый документ размером 500x300.
2. Нарисуйте прямоугольник размером 50x50.
3. Конвертируйте прямоугольник в муви клип. Назовите его "box" и установите точку регистрации в центре.
4. Теперь вытащите 10 этих мувиков на сцену.
5. Дайте им инстанс имена = "box1", "box2", box3", ... , "box10".
Идем в Actionscript 3
6. Создайте новый слой для actionscript и напишите следующее.
CODE
//Нам необходимо для анимаций import fl.transitions.*; import fl.transitions.easing.*;
//Этот массив будет хранить все переходы var transitions:Array = new Array();
//Эта функция вызывается каждый раз, когда мышь двигается поверх box function mouseOverBox (e:Event):void {
//Запомним выделенный бокс в локальную переменную var selectedBox:MovieClip = MovieClip(e.target);
//Удаляем слушатель события (пользователь не может остановить анимацию некогда стартовавшую) selectedBox.removeEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
/* Стартуем новый переход со следующими параметрами type: Мы используем тип перехода, который определен для каждого бокса direction: Направление анимации (Transition.OUT - это вторая опция) duration: Продолжительность анимации в секундах easing: Тип замедления, применяемый к анимации shape: Шейп маски. Применяется только когда используется переход "Iris" */ var myTransitionManager:TransitionManager = new TransitionManager(selectedBox); myTransitionManager.startTransition ({type:selectedBox.transition, direction:Transition.IN, duration:1, easing:Regular.easeOut, shape:Iris.CIRCLE});
//Добавляем переход в массив, таким образом он не попадет в сборщик мусора transitions.push(myTransitionManager);
//Добавляем слушатель, который вызывает функцию animationComplete, когда анимация заканчивается myTransitionManager.addEventListener ("allTransitionsInDone", animationComplete);
}
//Эта функция вызывается, когда анимация бокса закончилась function animationComplete (e:Event):void {
//Начнем прослушивание для MOUSE_OVER снова e.target.content.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox); }
Это все, протестируйте ваш мувик! Я должен сказать пару слов о событии "allTransitionsInDone". Если искать его в документации Adobe, вы можете не найти его. Это очень полезное событие и я верю, что оно будет хорошо документировано.
Все права принадлежат PainKiller.Net.Ru 2009-2010. Дизайн сайта разработан - PainKiller.Net.Ru
Внимание! Рип шаблона запрещен "Нарушение авторского права"!
Design bY PainKiller.Net.Ru