В простейшей анимации Flash последовательно проигрывает сцены и кадры клипа. В интерактивной анимации можно воспользоваться клавиатурой, мышкой для перемещения по различным частям клипа, для ввода информации в формах и просто для выполнения каких-нибудь действий. Интерактивность создается при помощи команд (скриптов), написанных в панели команд (Actions panel) на языке ActionScript, которые выполняются после совершения определенных событий.
Язык ActionScript объектно-ориентирован и похож на язык JavaScript. Информация в таком языке организуется в группы, которые называют классами. Множество экземпляров класса называют объектами. Можно использовать предопределенные классы, либо создавать свои собственные. При создании класса, необходимо описать свойства и поведение (методы) каждого объекта. Например, класс "person", характеризующий свойства человека, может содержать свойства-переменные – возраст, рост, цвет волос и т.д. и методы, такие как разговор, передвижение и т.п. В этом случае каждый индивидуальный человек становится объектом класса "person". Объекты должны содержать данные, либо графику.
Существует три типа скриптов:
для кнопок, для экземпляров мувиклипа и для кадров.
Панель команд (Window > Actions) позволяет создавать и редактировать эти скрипты. При выделении объекта панель становится активной. Если выделен кадр, заголовок панели будет "Frame Actions", при выделении кнопки или экземпляра мувиклипа – "Object Actions".
Панель команд имеет два различных режима редактирования. Выбрать режим можно из меню – треугольник в правом верхнем углу. В продвинутом режиме – Expert Mode скрипты пишут в окне, как в обычном текстовом редакторе.
В обычном режиме – Normal Mode программа конструируется из команд, список которых находится на панели слева. Список содержит встроенные скрипты, операторы, функции и свойства. Основные скрипты находятся в группе Basic Actions.
Для выбора команды дважды щелкните на нужной команде в разделе Actions либо перетащите ее в правое окошко. В этом окошке располагаются все выбранные команды. Аргументы команд определяются в секции параметров в полях внизу панели.
Значок прицела (внизу справа) используется для указания пути к экземплярам. Стрелочки в правом верхнем углу панели служат для перемещения команд вверх либо вниз. Удаление и добавление команд можно производить кнопками (-) и (+).
Команды можно назначить кадрам и экземплярам кнопок или мувиклипов, а графическим символам – нельзя. Когда Вы присваиваете объекту команду, Flash автоматически назначает ему специальный скрипт, называемый обработчиком (On Mouse Event – для кнопок и On Clip Event – для мувиклипов). Обработчик событий запускает вашу программу при наступлении определенного события.
События – это команды для обработчиков, происходящие во время воспроизведения клипа. Например, мувиклип загрузился – событие, нажали кнопку на клавиатуре – событие, клип достиг определенного кадра – событие и т.д. Параметры обработчика меняются в секции параметров, так же, как и для команд. Для мувиклипа автоматически назначается обработчик событий – Load (запуск клипа), а для кнопки – Release (отпустили нажатую кнопку мыши). Каждый обработчик начинается с "on" (например, on (release), on (rollOver)), дальше следует название обрабатываемого события и то, что должно произойти после этого действия.
Для назначения обработчика события кнопке выделите кнопку на сцене и задайте ей команду из группы Basic Actions. В секции параметров выберите желаемое событие:
Press – нажата кнопка мыши, и курсор находится над кнопкой; Release – нажали и отпустили кнопку мыши; Release Outside – кнопка мыши была нажата, затем курсор отодвинули за пределы кнопки и отпустили кнопку мыши; Key Press – нажата определенная клавиша на клавиатуре; Roll Over – курсор мыши над кнопкой; Roll Out – курсор мыши вышел за кнопку.
Назначение команд кадрам
Чтобы по достижении определенного кадра клип выполнял какие-то действия, нужно сделать этот кадр ключевым и приписать ему соответствующие команды. Например, чтобы в клипе 20-й кадр зациклился на 10-й, в 20-м кадре надо записать команду перехода к 10-ому кадру.
Переход на кадр в Сцене выполняется командой Go To. В секции параметров задают:
По умолчанию, перейдя в заданный кадр, клип продолжает воспроизводиться. Чтобы остановить клип снимите флажок с Go to and Play (команда изменится на Go to and Stop).
Остановка и воспроизведение клипов командами Stop и Play используется для управления, с помощью кнопок, воспроизведением основного клипа или мувиклипов. Мувиклипу должно быть присвоено имя. Для остановки клипа укажите ключевой кадр и выберите команду Stop. Если скрипт назначен мувиклипу, то в панели команд будет автоматически добавлен обработчик: onClipEvent (load) { stop (); }, т.е. когда мувиклип будет загружен, он остановится. Возобновить воспроизведение можно командой Play. Для кнопки автоматически добавляется обработчик по умолчанию: on (release) { play (); }, т.е. когда вы щелкните по кнопке в клипе, Flash выполнит команду play, запускающую воспроизведение клипа.
Установка качества отображения клипа определяется командой Toggle High Quality, которая отключает сглаживание объектов (anti-aliasing), требующее быстрого процессора. Команда эта распространяется на все мувиклипы в плеере и может быть назначена кнопке, мувиклипу или кадру.
Остановка всех звуков без остановки воспроизведения самого клипа выполняется командой Stop All Sounds, которая распространяется на все мувиклипы в плеере.
Команда Get URL используется для загрузки документа с определенного web-адреса в окно браузера, либо для передачи переменных другому приложению. Например, можно послать CGI скрипту данные для обработки, так же, как это делается в html-формах. В секции параметров вводятся:
– URL – адрес, можно использовать относительную адресацию, например mypage.htm, либо абсолютную (полный путь к документу), например http://www.mydomain.com/mypage.htm.
– Window – задает, в какое окно загрузится документ: _self - в текущее окно браузера, _blank - в новое окно браузера, _parent - в родительское, по отношению к текущему фрейму окно, _top - во фрейм верхнего уровня текущего окна. Можно ввести имя фрейма или окна. Пример загрузки документа "page2.htm" в новое окно браузера: getUrl ("page2.html", "blank").
Для управления Flash-плеером используется команда FSCommand, позволяющая отправить сообщения приложениям, содержащим Flash-плеер – например, JavaScript в браузере и других программах, содержащих ActiveX. Для автономно выполняемых swf-файлов в секции параметров команды FSCommand в поле stand-alone player можно выбрать: Quit – закрыть окно, Exec – запустить выполнение приложения (путь к приложению в строке Arguments), Fullscreen [True/False] – развернуть окно на весь экран или нет, Allowscale [True/False] – можно или нет изменять размер окна, Showmenu [True/False] – показывать или нет меню.
Команда Load Movie позволяет загрузить (выгрузить) клипы не закрывая Flash Player и переключаться между клипами без загрузки нового html-документа. Команда Unload Movie удаляет клипы, загруженные ранее командой Load Movie.
Для команды Load Movie в секции параметров задайте:
Для выгрузки клипа командой Unload Movie в поле Location: а) если клип загружен на уровень, выберите Level и введите номер уровня; б) для выгружаемого мувиклипа выберите Target и введите путь к нему.
Команда Tell Target позволяет указать мувиклип, который будет получать, и исполнять команды, назначенные кнопкам, кадрам или мувиклипам. Чтобы указать мувиклип, к которому хотите обратиться, выберите команду Tell Target и значком прицела в правом нижнем углу панели команд вызовите диалоговое окно, в котором укажите имя мувиклипа. Это имя должно быть определено ранее в панели Window > Panels > Instance. В момент обращения к мувиклипу он должен быть на Сцене. Например, если клип A в кадре 5 обращается к клипу B, клип В должен уже находиться в пятом кадре. Теперь осталось выбрать команды, которые будет выполнять мувиклип. Например, при нажатии кнопки с набором команд:
on(release) {tellTarget("ball") {gotoAndPlay(2);}}
начнет воспроизводиться анимация со второго кадра мувиклипа "ball".
Проверка загрузки кадра. Прелоадер. Чтобы клип полностью загрузился и только потом запустился, делают «прелоадеры». Для этого используют команду If Frame Is Loaded. Прелоадер обычно содержит какую-нибудь анимацию, которая воспроизводится, пока грузится основной клип. Команда If Frame Is Loaded проверяет, загружен или нет определенный кадр. Выполнив эту команду, следующей командой можно начать проигрывать прелоадер. Обычно команда If Frame Is Loaded используется в кадрах, но может быть назначена и кнопке. Для проверки команды If Frame Is Loaded используйте опцию Streaming при тестировании клипа (см. далее). В этом случае эмулируется загрузка с Web сайта.
Для проверки загрузки кадра выделите кнопку, мувиклип или кадр, выберите для них команду If Frame Is Loaded и укажите параметры: Scene – сцену с нужным фреймом, Type и Frame – номер кадра, метку или выражение. Затем введите команду, которая выполнится, если нужный кадр загружен. Например: ifFrameLoaded (100) { gotoAndPlay (10); }.
Для проигрывания анимации во время загрузки создайте зацикленную анимацию, например мигающую надпись "Идет загрузка..." Впишите команду, которая остановит эту анимацию, когда кадр будет загружен. Например, 30-и кадровый клип в первых двух кадрах содержит прелоадер, а в 3-м начинается основной клип.
В кадре 1 впишите: ifFrameLoaded (30) { gotoAndPlay (3);}.
Кадр 2 зациклите на кадр 1: gotoAndPlay (1);
Когда 30-й кадр будет загружен, клип перейдет на 3-й кадр.
Клип в формате FLA-файла можно просматривать только внутри Flash. Для автономного просмотра клипов необходима их «публикация», то есть экспорт в другие форматы. Процесс публикации Flash-клипов состоит из нескольких стадий:
В зависимости от настроек меню File > Publish Settings, команда Publish, может создать сразу несколько файлов: SWF-файл, HTML-документ, для отображения клипа в браузере, автономные программы – exe, hqx или mov, динамические или статические изображения форматов – gif, jpeg, png, bmp, pict, QuickTime, avi. Команда File > Export Movie позволяет экспортировать клип только в один из возможных форматов.
Основным исходящим форматом для Web, который поддерживает все интерактивные возможности Flash, является SWF-формат. Его можно воспроизводить: 1) в web-браузере, 2) в автономном приложении, называемом Flash-плейером. Плеер инсталлируется в процессе установки Flash и воспроизводит Flash-клипы так же, как и web-браузер. Управлять воспроизведением клипов в плеере можно командами меню и FScommand командами. Например, чтобы развернуть плеер на весь экран, надо назначить FScommand команду кадру или кнопке и выбрать параметры команды Fullscreen и True.
При обратном преобразовании форматов, например, при импорте из SWF в FLA-файл, часть первоначальной информации будет потеряна.
Чем объемнее файл клипа, тем дольше он загружается и медленнее воспроизводится. Flash автоматически частично оптимизирует клипы, ликвидируя дублирование объектов. Желательно дополнительно вручную оптимизировать клип. Можно оптимизировать:
Чтобы тестировать загрузку клипа в web-браузер и его воспроизведение, используется команда Control > Test Movie (для отдельной сцены: Control > Test Scene). Открывшееся окно позволяет воспроизвести клип и содержит меню с набором команд для тестирования и отладки. Выбрав в меню команду View > Bandwidth Profiler можно представить процесс загрузки в виде тестового окна, показывающего процесс передачи данных при определенной скорости загрузки. Моделируемая скорость загрузки web-страниц задается в меню Debug. Желательно выбрать скорость от 14.4 Kbps до 56 Kbps, что позволит протестировать загрузку для низкоскоростных соединений с помощью обычных Dial-up модемов.
Тестовое окно состоит из двух частей. В левой части расположена информация о клипе: геометрические размеры, частота кадров, объем в килобайтах и байтах, продолжительность и количество предварительно загруженных кадров и затраченных на это секунд. Правая часть тестового окна содержит временную линейку и диаграмму. Временная линейка в верхней части показывает номер текущего кадра. Можно выбрать любой кадр на линейке и просмотреть его и информацию о нем. На диаграмме каждая полоса представляет собой определенный кадр клипа. Высота полосы соответствуют объему кадра в байтах. Первый кадр обычно больше, чем остальные т.к. хранит информацию о символах.
В меню View можно изменить режим просмотра в тестовом окне: Frame by Frame Graph – показывает покадровую развертку диаграммы, Streaming Graph – временная развертка диаграммы (по времени загрузки), Show Streaming – включает моделирование загрузки на данной скорости. Красная линия внизу линейки показывает возможность воспроизведения кадров в реальном времени на выбранной скорости соединения. Если полоса пересекает линию кадра, то клипу придется дожидаться загрузки кадра.
При вызове Test Movie или Test Scene создается временный SWF-файл. Изменить его настройки можно в меню File > Publish Settings. Тестирование анимации непосредственно в web-браузере выполняется командой File > Publish Preview > HTML.
Параметры экспорта клипов в SWF-файл задаются на вкладке Flash окна Publish Settings:
Публикация html-файлов
В html-документе генерируются настройки для браузера и ссылки на соответствующие SWF-файлы. В окне Publish Settings на вкладке HTML можно настроить следующие параметры:
При экспорте клипа в GIF, JPEG и PNG- формат в соответствующем файле сохраняется первый кадр клипа или ключевой кадра с меткой #Static. Для экспорта клипа в виде GIF-анимации в меню Publish Settings на вкладке GIF надо отметить пункт – Animated. В анимированный GIF экспортируются все кадры клипа или область между метками #First и #Last в ключевых кадрах.
Обновлено 20.05.2004