Главная
Форум
Баннеры
ТОП Сайтов
Мониторинг серверов
Банлист Сервера
Статистика Сервера
Наши отзывы
Новые сообщения · Участники · Правила форума · Поиск · RSS
  • Страница 1 из 1
  • 1
Actionscript 3 TransitionManager
DooDLeZДата: Воскресенье, 28.03.2010, 20:16 | Сообщение # 1

WebMaster
Сообщений: 485
[ ]
:-(
Actionscript 3 TransitionManager

Этот урок - все о 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();

//Добавим обработчики MOUSE_OVER для каждого box
box1.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box2.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box3.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box4.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box5.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box6.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box7.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box8.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box9.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);
box10.addEventListener (MouseEvent.MOUSE_OVER, mouseOverBox);

//Присвоим различный переход для каждого box
box1.transition = Blinds;
box2.transition = Fade;
box3.transition = Fly;
box4.transition = Iris;
box5.transition = Photo;
box6.transition = Rotate;
box7.transition = Squeeze;
box8.transition = Wipe;
box9.transition = PixelDissolve;
box10.transition = Zoom;

//Эта функция вызывается каждый раз, когда мышь двигается поверх 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, вы можете не найти его. Это очень полезное событие и я верю, что оно будет хорошо документировано.


  • Страница 1 из 1
  • 1
Поиск:


Все права принадлежат PainKiller.Net.Ru 2009-2010. Дизайн сайта разработан - PainKiller.Net.Ru
Внимание! Рип шаблона запрещен "Нарушение авторского права"! Design bY PainKiller.Net.Ru
Тиц и pr сайта