Копирование анимации как кода ActionScript 3.0

Не все знают, что в редакторе Adobe Flash присутствует возможность превратить анимацию, созданную вручную, в код ActionScript 3.0. Полученный AS-код можно затем использовать для анимирования других объектов (потомков DisplayObject-а) или применить в других flash-проектах. Рассмотрим, как это делается...

Первым делом, нам понадобится простая анимация, созданная в Adobe Flash (я буду использовать Adobe Flash CS 5.5), которую мы и будем экспортировать в код ActionScript 3.0. Для этого создадим на сцене флеш-проекта MovieClip «mc» и применим к нему «Create Classic Tween». Когда анимация будет создана, вызовите контекстное меню над анимируемым мувиклипом. Обратите внимание, что в контекстном меню теперь доступен новый пункт - «Copy Motion as ActionScript 3.0...».

Copy Motion as ActionScript 3.0...

Жмём по этому пункту. Появляется окно:

Copy Motion as ActionScript 3.0...

В этом окне надо ввести имя того объекта, к которому вы хотите в будущем применить экспортируемый анимационный эффект. Допустим, что у нас есть ещё один флеш-проект, на сцене которого имеется мувиклип с именем «new_mc». И именно к «new_mc» мы собираемся применить экспортируемый код ActionScript 3.0. Итак, в поле ввода забиваем название «new_mc» и жмём «Ok». Всё! Теперь в буфер обмена скопировался нужный нам код ActionScript.

После этого идём в другой наш flash-проект (тот самый, на сцене которого находится упоминавшийся ранее мувиклип «new_mc»). В этом проекте открываем панель «Actions» и в эту панель вставляем код из буфера обмена (для этого в поле ввода кода панели «Actions» вызываем контекстное меню и выбираем пункт «Paste»).

Код ActionScript 3.0:

import fl.motion.Animator; var new_mc_xml:XML = <Motion duration="30" xmlns="fl.motion.*" xmlns:geom="flash.geom.*" xmlns:filters="flash.filters.*"> <source> <Source frameRate="24" x="83" y="204.95" scaleX="1" scaleY="1" rotation="0" elementType="movie clip" symbolName="Symbol 1"> <dimensions> <geom:Rectangle left="-36" top="-36" width="72" height="72"/> </dimensions> <transformationPoint> <geom:Point x="0.5" y="0.5"/> </transformationPoint> </Source> </source> <Keyframe index="0" tweenSnap="true"> <tweens> <SimpleEase ease="0"/> </tweens> </Keyframe> <Keyframe index="29"/> </Motion>; var new_mc_animator:Animator = new Animator(new_mc_xml, new_mc); new_mc_animator.play();

Как можно видеть из приведённого выше кода, Adobe Flash сохраняет анимационные эффекты в виде XML-а (переменная new_mc_xml). XML очень удобен для хранения и передачи данных. А, кроме этого, он легко читается человеком. При желании в него можно внести изменения.

А для подключения анимационного эффекта к тому или иному объекту на сцене флеш-ролика используется класс Animator. Клнструктор объектов Animator принимает два значения:

1.) XML с описанием эффекта (new_mc_xml).

2.) Объект, к которому эффект будет применяться (как мы уже ранее договорились, применяться анимация будет к MovieClip-у по имени «new_mc»).

Конечно, применение описанного в этом посте подхода для создания такого простого эффекта, как изменение координат мувиклипа, является неоправданной роскошью. Но если вам требуется запрограммировать какой-то более сложный анимационный эффект, то умение редактора Adobe Flash генерировать код может очень сильно сэкономить ваши силы и время.

Автор: admin

Дата добавления: 2012-04-05

Просмотров: 5051

Рейтинг поста: +8-

Правила перепечатки

Социальные закладки:
Комментарии:
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2012-04-08
Про Adobe Flash я и упоминаю в первой строчке :-)

Да, greensock - это весчь :-) Сам в восторге от этой библиотеки.
Комментатор
Комментарий добавил(а): GenaZ
Дата добавления: 2012-04-08
Хочу отметить то, что данный способ будет работать только во Flash Professional.
К примеру, во Flash Develop этот способ не будет работать. т.к там нет библиотеки fl.*
Поэтому, надо будет добавлять в проект эту библиотеку.

А для более-менее простых анимаций, я бы советовал использовать greensok. Очень удобно.
Добавить комментарий:







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить комментарий.

Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика