Как уже было сказано, «смотровые окна» маски могут быть анимированы одним из способов, рассмотренных ранее. Если вы хотите использовать автоматическую анимацию движения или трансформации, маска должна содержать только одно «смотровое окно».
При анимировании «смотрового окна» маскированный слой играет роль фона.
В качестве примера рассмотрим процедуру создания «смотрового окна», перемещающегося вдоль маскированного слоя. Чтобы пока не отвлекаться на детали, используем в качестве маски круг, созданный с помощью инструмента
Oval,
и заставим его пересечь пространство сцены слева направо, как показано на рис. 9.19 (для наглядности при создании рисунка использовался режим
Onion Skin).
Рис. 9.19.
Пример движущейся маски
Процедура создания такой маски состоит из следующих шагов:
Поместите на слой, который вы хотите маскировать, какой-либо рисунок (например, с помощью операции импорта).
Щелкните правой кнопкой мыши на имени маскируемого слоя и в контекстном меню выберите команду
Insert Layer.
На новом слое нарисуйте «смотровое окно» требуемой формы.
Создайте для него tweened-анимацию движения (см. подраздел «Автоматическая анимация движения объекта»).
Щелкните правой кнопкой мыши на имени слоя-маски, и в контекстном меню выберите команду
Mask.
В строке маскированного слоя щелкните правой кнопкой мыши в ячейке того кадра с номером, равным номеру последнего кадра анимации слоя-маски, и в контекстном меню выберите команду
Insert'Frame;
промежуток между первым и последним кадрами будет заполнен простыми кадрами.
После выполнения описанной процедуры временная диаграмма фильма с анимированной маской будет выглядеть примерно так, как показано на рис. 9.20.
Рис. 9.20.
Вид временной диаграммы для анимированной маски
В качестве несколько более сложного примера рассмотрим маску, созданную на основе текстового поля. Эта маска не только перемещается вдоль сцены, но переворачивается во время движения (рис. 9.21).
В данном подразделе рассмотрены четыре варианта применения механизма слоев при создании фильма:
использование слоев для создания фонового изображения;
использование ведущего слоя для управления движением объекта;
использование слоя-маски для управления видимостью маскированных слоев;
включение в сцену нескольких анимированных объектов.
Более сложные варианты применения слоев будут описаны в главе «Создание интерактивных фильмов».
Слой-маска позволяет создавать эффект отверстия, через которое «просвечивает» содержание одного или большего числа нижележащих слоев.
Маска может быть создана на основе следующих типов объектов слоя:
заливки;
текстового поля (любого типа - Static, Dynamic либо Insert);
экземпляра графического символа;
клипа (понятие клипа - Movie Clip — будет подробно рассмотрено в следующей главе).
На рис. 9.15 и 9.16 приведены примеры всех перечисленных выше вариантов масок (за исключением клипа). На рис. 9.15 показано, как выглядит маска в режиме редактирования, а на рис. 9.16 — в режиме просмотра (то есть «в действии»).
Рис. 9.15.
Примеры объектов, на основе которых может быть создана маска (режим редактирования)
Рис. 9.16.
Вид маскированного слоя при включенном режиме маскирования
Замечание
Оба приведенных выше рисунка представляют собой своеобразный коллаж, поскольку на маскирующем слое одновременно можно помещать объекты только одного типа (либо только заливки, либо только текст, либо графические символы). Причем «обычных» заливок может быть сколько угодно, а вот текстовое поле или графический символ не любят конкурентов.
Маску можно заставить перемещаться, используя любой тип анимации: как покадровую, так и tweened-анимацию.
С помощью tweened-анимации движения можно «оживить» маску, созданную на основе текстового поля, заливки, графического символа или клипа. Причем для клипа можно с помощью ведущего слоя задать произвольную траекторию движения.
С помощью tweened-анимации трансформации можно «оживить» маску, созданную на основе заливки.
Кроме того, для анимирования масок можно применять сценарии на ActionScript.
Нельзя маскировать слои внутри кнопок.
Для создания папки слоев требуется выполнить одно из следующих действий:
в списке слоев на панели временной диаграммы щелкнуть правой кнопкой мыши на любом слое; в контекстном меню выбрать команду
Insert Folder
(Вставить папку);
в списке слоев на панели временной диаграммы выбрать любой слой, щелкнув на нем левой кнопкой мыши; щелкнуть кнопку
Insert Layer Folder,
расположенную, ниже списка слоев (см. рис. 9.2).
По умолчанию новой папке присваивается имя
Folder
с указанием порядкового номера внутри сцены. Впоследствии это имя может быть заменено любым другим, поясняющим ее предназначение (в том числе и с использованием кириллицы).
В отличие от слоев, для папки на временной диаграмме не отображается последовательность кадров (рис. 9.3).
Рис. 9.3.
Создание папки слоев
Новая папка не содержит ни одного слоя. Чтобы поместить в папку какой-либо из существующих слоев, достаточно перетащить с помощью мыши строку с именем слоя на строку с именем папки. Все слои, включенные в папку, расположены в списке ниже ее. Кроме того, имена слоев папки смещаются вправо относительно имени папки. Например, на рис. 9.4 таким слоем является
Layer 1.
Чтобы «вынуть» слой из папки, достаточно перетащить его в списке слоев выше строки с именем папки.
Рис. 9.4.
Включение слоя в папку
При работе с папками следует учитывать, что они имеют чисто организаторские функции, и непосредственно не влияют на другие свойства слоев, в частности, на видимость объектов в разных слоях. Например, поместив в папку
Folder 1
слой
Layer 4,
вы тем самым измените видимость объекта, расположенного на этом слое, только потому, что изменится его расположение в списке относительно других слоев (рис. 9.5).
Тем не менее, закрывая и открывая папку, вы можете управлять отображением входящих в нее слоев в списке временной диаграммы. При этом на столе объекты слоев остаются видимыми. Например, на рис. 9.6 показан вид окна Flash при закрытой папке
Folder 1.
Для создания нового слоя требуется выполнить одно из следующих действий:
в списке слоев на панели временной диаграммы щелкнуть правой кнопкой мыши на том слое, над которым вы хотите поместить новый; в контекстном меню выбрать команду
Insert Layer
(Вставить слой);
в списке слоев на панели временной диаграммы выбрать слой, над которым вы хотите поместить новый, щелкнув на нем левой кнопкой мыши; щелкнуть кнопку
Insert Layer,
расположенную ниже списка слоев, слева (рис. 9.2).
Когда вы создаете новый слой, он появляется на столе над выбранным слоем; в списке слоев его имя также помещается над именем выбранного слоя. Добавленный слой автоматически становится активным слоем. Это означает, что создаваемый на столе объект будет принадлежать данному слою; при этом видимость нового объекта будет зависеть от расположения ранее созданных объектов других слоев (см. рис. 9.2).
Рис. 9.2.
Добавление нового слоя
По умолчанию новому слою присваивается имя
Layer с
указанием порядкового номера внутри сцены. Впоследствии это имя может быть заменено любым другим, поясняющим его предназначение (в том числе и с использованием кириллицы).
Для удаления слоя следует выполнить одно из следующих действий:
в списке слоев на панели временной диаграммы щелкнуть правой кнопкой мыши на том слое, который вы хотите удалить; в контекстном меню выбрать команду
Delete Layer
(Удалить слой);
в списке слоев на панели временной диаграммы выбрать удаляемый слой, щелкнув на нем левой кнопкой мыши; щелкнуть кнопку
Delete Layer,
расположенную ниже списка слоев, справа (см. рис. 9.2).
После удаления слоя активным становится слой, расположенный под ним.
Операции создания и удаления слоя можно отменить (как и многие другие), щелкнув на кнопке
Undo
(Отмена).
В обычном режиме все слои абсолютно прозрачны, в том смысле, что объекты, расположенные на различных слоях, визуально воспринимаются как элементы единой сцены. Вместе с тем, объект, находящийся на верхнем слое, заслоняет объекты, находящиеся в той же позиции на нижних слоях (рис. 9.1).
Вы всегда можете изменить порядок расположения слоев, а также редактировать объекты одного слоя независимо от элементов других слоев. Однако при необходимости можно выбрать одновременно объекты из разных слоев и работать с ними как с единым целым. Например, можно изменить их цвет или сгруппировать.
Рис. 9.1.
Визуальное представление объектов, относящихся к разным слоям
Число слоев, которые вы можете создать, ограничено только объемом оперативной памяти вашего компьютера, и не влияет на размер файла публикуемого фильма. Для удобства работы со слоями в Flash MX реализована возможность хранения каждого набора взаимосвязанных слоев в отдельной папке слоев (Layer Folder).
Во Flash существует понятие «ведущего слоя» —
Guide Layer.
При выборе этого термина разработчики Flash воспользовались своеобразной игрой слов английского языка. Дело в том, что ведущий слой имеет два предназначения:
во-первых, вы можете поместить на него какие-либо комментарии (даже с иллюстрациями), которые видны только в режиме редактирования фильма, но не экспортируются в формат SWF; в этом смысле слово
Guide
можно перевести как «руководство», «инструкция»;
во-вторых, с помощью ведущего слоя можно управлять траекторией перемещения объекта, анимированного с помощью tweened-анимации движения.
Чтобы создать слой-инструкцию, необходимо:
В списке слоев на панели временной диаграммы щелкнуть правой кнопкой мыши на любом слое и в контекстном меню выбрать команду
Insert Layer.
Щелкнуть правой кнопкой мыши на вновь созданном слое и в контекстном меню выбрать пункт
Guide.
В результате в списке слоев возле имени слоя появится значок в виде молоточка. Он говорит о том, что содержимое данного слоя предназначено исключительно для разработчиков, но не для конечных пользователей («зрителей»). На рис. 9.12 показан пример слоя-инструкции, содержащего единственный элемент — текстовый блок.
Рис. 9.12.
Пример слоя-инструкции
Как было сказано выше, второй тип ведущего слоя — это слой, описывающий траекторию, по которой движется объект. Особенность такого применения ведущего слоя состоит в том, что предварительно требуется создать tweened-анимацию прямолинейного движения объекта.
Чтобы заставить двигаться объект по произвольной траектории, необходимо выполнить следующие действия:
Щелкнуть правой кнопкой на имени слоя, содержащего анимированный объект.
Выбрать в контекстном меню команду
Add Motion Guide
(Добавить слой, управляющий движением); в результате в списке слоев появится ведущий слой, помеченный специальным значком, а имя слоя с анимацией сдвинется вправо — это признак того, что он является ведомым слоем (рис. 9.13).
Каждому слою может быть назначена некоторая совокупность атрибутов. Значения этих атрибутов отображаются в списке слоев в виде специальных значков (рис. 9.7).
Рис. 9.7.
Представление атрибутов слоев
Атрибутами слоя являются:
уровень слоя - объекты самого верхнего слоя при воспроизведении фильма находятся как бы на переднем плане сцены и не заслоняются объектами нижележащих слоев; имя верхнего слоя является верхним и в списке;
активность -на активном слое можно редактировать или создавать объекты, если для него не установлены атрибуты «скрыт» или «заблокирован»; активный слой отображается в списке инверсным цветом и помечается значком карандаша;
видимость (Show/Hide — Показать/Скрыть) — объекты скрытого слоя (Hide) не видны на столе; такой слой помечается в списке красным крестом; на скрытом слое нельзя редактировать или создавать объекты, даже если он активен;
блокировка (Locked/Unlocked — Заблокирован/Открыт) — на заблокированном слое нельзя редактировать или создавать объекты, даже если он активен; такой слой помечается в списке значком замка;
контурность (Outlines) — объекты на контурном слое заменяются их контурами; включение такого режима позволяет видеть объекты, заслоненные объектами данного слоя (см. рис. 9.7); для контурного слоя можно дополнительно выбирать цвет контура его объектов, поскольку данный атрибут может быть установлен для нескольких слоев;
ведущий/ведомый (Guide/Guided) - ведущий слой может использоваться в качестве шаблона при создании других слоев, а также для описания траектории движения объекта (подробнее этот вопрос будет рассмотрен ниже); ведущий слой не виден при воспроизведении фильма;
маска/маскированный (Mask/masked) — использование слоя-маски позволяет динамически изменять видимость маскированных слоев, что обеспечивает интересные визуальные эффекты; (подробнее этот вопрос будет рассмотрен ниже).
Назначение слою требуемых атрибутов-может быть выполнено одним из следующих способов:
Во всех рассмотренных выше примерах анимации на сцене перемещался или изменял форму только один объект. Очевидно, что для привлечения интереса зрителей и повышения «реалистичности» многих фильмов одного персонажа недостаточно.
При описании общих принципов применения слоев было отмечено, что одно из их достоинств — возможность анимации нескольких объектов сцены. Чтобы правильно использовать такую возможность, необходимо учитывать ряд факторов, к описанию которых мы и переходим.
Для начала рассмотрим простейший случай, когда требуется включить в сцену всего два анимированных объекта.
Если они «по сюжету» фильма никак не взаимодействуют друг с другом, то все достаточно очевидно -- требуется разместить каждый объект в отдельном слое и анимировать его. И хотя при этом один из них, возможно, будут периодически заслонять другой, никаких дополнительных манипуляций с временной диаграммой слоев не требуется.
Итак, .для анимирования двух объектов, которые начинают и заканчивают двигаться одновременно, необходимо выполнить следующие действия (предполагается, что применяется tweened-анимация):
Постройте в первом слое
(Layer
7) анимационную последовательность для первого объекта (см. подраздел «Автоматическая анимация движения объекта»).
Добавьте второй слой, например, с именем
Layer 2
(см. подраздел «Создание и удаление слоев») и создайте на нем объект, подлежащий анимированию; при этом Flash автоматически построит для этого слоя последовательность простых кадров, равную по длине первой анимированной последовательности (рис. 9.27
а),
как при создании фонового изображения.
Щелкните правой кнопкой мыши в ячейке первого кадра слоя
Layer 2
и выберите в контекстном меню команду
Create Motion Tween;
при этом между первым и последним кадром появится пунктирная линия (рис. 9.27
б).
Щелкните правой кнопкой мыши в ячейке последнего кадра слоя
Layer 2
и выберите в контекстном меню команду
Insert Keyframe;
Библиотека фильма — это библиотека символов, которая связана с конкретным фильмом. При создании нового фильма библиотека отсутствует. Чтобы ее создать, достаточно выбрать в меню
Window
команду
Library.
С этого момента библиотека будет связана с данным фильмом до конца его «жизни». Удалить ее невозможно, можно только изменить состав и свойства входящих в нее объектов. В заголовке окна такой библиотеки выводится название фильма (то есть имя FLA-файла), с которым она связана. Тем не менее, символы из библиотеки фильма могут быть использованы в любом другом фильме. Для этого достаточно открыть новый файл, не закрывая тот, библиотекой которого вы хотите воспользоваться. Окно библиотеки файла-источника также должно быть открыто. В этом случае Flash просто «пристыкует» окно новой библиотеки к окну библиотеки, открытому ранее. Поскольку число одновременно открытых файлов не ограничено ничем (кроме как вычислительными ресурсами вашего компьютера), то и открытых библиотек может быть сколько угодно. Например, на рис. 10.6 показана ситуация, когда оказались состыкованы три библиотеки. При этом все библиотеки могут быть открыты одновременно (на рис. 10.7 открыты две библиотеки из трех).
Рис. 10.6.
Окно с тремя состыкованными библиотеками
Разумеется, удобство работы с несколькими библиотеками существенно зависит от геометрических размеров экрана монитора. Тем не менее, в некотором диапазоне вы можете регулировать размеры окон библиотек с помощью мыши. Следует заметить, что окно библиотеки реализовано таким образом, что уменьшение области просмотра символов приводит к автоматическому масштабированию изображения символа. Благодаря этому в области просмотра символ всегда виден полностью (сравните, например, изображения человечка на рисунках 10.6 и 10.7).
Библиотека символов позволяет автору использовать в новом фильме символы, созданные ранее либо им самим, либо разработчиками Flash. Для упрощения выполнения подобных операций, а также для выполнения некоторых других действий с символами в Flash MX предусмотрено четыре типа библиотек:
библиотека фильма (Library);
общая библиотека (Common Library);
постоянная библиотека (Permanent library);
разделяемая библиотека (Shared Library).
По сравнению с предыдущей версией, во Flash MX реализованы два вида разделяемых библиотек:
Author-time — библиотека, разделяемая на время разработки;
Run-time - разделяемая библиотека времени выполнения.
Прежде, чем пояснить различие в использовании различных типов библиотек, рассмотрим интерфейс окна библиотеки фильма. Объясняется это двумя причинами.
Во-первых, при вставке в фильм символа из любой «чужой» библиотеки он автоматически помещается в библиотеку фильма. Кроме того, с точки зрения пользовательского интерфейса работа с различными библиотеками реализована во Flash одинаково.
Постоянная библиотека занимает некое промежуточное положение между библиотекой фильма и общей библиотекой: она создается пользователем, но доступна из любого фильма. Чтобы создать постоянную библиотеку, необходимо выполнить следующие действия:
Создайте Flash-файл (то есть новый фильм в формате .fla) с библиотекой, содержащей символы, которые вы хотите включить в постоянную библиотеку.
Сохраните созданный Flash-файл на вашем жестком диске в папке
Flash MX\First Run\Libraries.
При следующем запуске Flash каскадное меню
Common Libraries
будет дополнено еще одним пунктом, название которого совпадает с именем созданного Flash-файла (рис. 10.11).
Рис. 10.11. Меню
Common Libraries после создания постоянной библиотеки
Символ из постоянной библиотеки, помещаемый в фильм, копируется в библиотеку этого фильма.
Чтобы преобразовать существующий объект (или несколько объектов) в символ, необходимо:
Выбрать на столе объект (объекты), подлежащие преобразованию в символ.
В меню
Insert
(Вставить) выбрать команду
Convert to Symbol...
(Преобразовать в символ).
В открывшемся диалоговом окне
Convert to Symbol
указать параметры символа (рис. 10.16).
Щелкнуть кнопку
ОК;
созданный символ будет автоматически добавлен в библиотеку фильма.
Рис. 10.16.
Диалоговое окно установки параметров символа
Замечание
Обратите внимание, что в данном окне не представлены дополнительные типы символов, которые были перечислены в начале данной главы.
С помощью диалогового окна
Convert to Symbol
могут быть установлены следующие параметры символа:
Name
(Имя) — имя символа, под которым он будет включен в библиотеку фильма;
Behavior
(Поведение) — тип символа (клип, кнопка или графика);
Registration
(Регистрация) — положение регистрационной точки символа; данное поле является интерактивным: чтобы указать положение точки, следует щелкнуть мышью на соответствующем маркере (регистрационная точка отображается черным цветом, пустые маркеры — белым).
Кнопка
Advanced
(Дополнительно) обеспечивает переход в расширенный формат окна
Convert to Symbol.
В этом случае оно содержит две дополнительные группы элементов, которые применяются при связывании создаваемого символа с разделяемой библиотекой. Расширенный формат окна был приведен на рис. 10.13. Чтобы вернуться в сокращенный (основной) формат, следует щелкнуть на кнопке
Basic
(Основной), которая заменяет кнопку
Advanced.
С помощью окна
Convert to Symbol
можно не только преобразовать в символ «обычный» объект, но также изменить тип символа. Для этого достаточно изменить положение переключателя
Behavior.
Правда, при переходе от менее сложного типа к более сложному такое преобразование будет выполнено формально, и дальнейшее редактирование потребуется выполнять вручную. Например, если вы захотите «превратить» в кнопку графический символ, то одного щелчка в позиции
Каждый экземпляр имеет собственные атрибуты, которые могут редактироваться без изменения соответствующих атрибутов символа. В частности, вы можете изменять цвет и прозрачность экземпляра, переопределять его тип (например, преобразовать графический символ в кнопку); вы можете также наклонять, вращать или масштабировать экземпляр без того, чтобы воздействовать на символ.
Атрибуты экземпляра сохраняются вместе с ним. Если вы редактируете символ или связываете экземпляр с другим символом, все внесенные изменения атрибутов экземпляра остаются действительными.
Чтобы редактировать атрибуты экземпляра, необходимо использовать элементы управления, размещенные на панели инспектора свойств экземпляра. Формат панели зависит от типа экземпляра (графика, кнопка или клип), а также от того, какое именно изменение вы собираетесь внести в параметры экземпляра. Общими для всех форматов являются (рис. 10.26):
раскрывающийся список Symbol Behavior, который позволяет установить для данного экземпляра тот или иной тип символа; список содержит соответствующие варианты (Movie Clip, Button и Graphic);
текстовая область Instance of, в ней отображается имя символа, с которым связан данный экземпляр;
кнопка Swap Symbol (Сменить символ); щелчок на кнопке открывает диалоговое окно, которое позволяет связать редактируемый экземпляр с другим символом фильма;
раскрывающийся список Color Styles (Параметры цвета), который позволяет выбрать параметр цвета, подлежащий индивидуальной настройке для данного экземпляра; от выбранного в списке пункта зависит формат связанной со списком группы элементов управления; возможные варианты рассмотрены ниже.
Рис. 10.26. Формат инспектора свойств экземпляра графического символа
Итак, список Color Styles и связанные с ним элементы управления обеспечивают изменение следующих визуальных атрибутов экземпляра:
яркости (Brightness);
оттенка цвета (Tint);
прозрачности (Alpha).
Каждому из них соответствует одноименный пункт списка.
Кроме того, для создания более сложных цветовых эффектов может быть использован еще один пункт — Advanced (Продвинутый). В этом случае вы можете создавать новые цветовые оттенки, комбинируя их с прозрачностью экземпляра.
Во Flash предусмотрено три варианта редактирования символа:
в режиме редактирования символа (именно такой способ используется при создании нового пустого символа);
в отдельном окне;
в контексте сцены, то есть непосредственно на столе.
При использовании первого или второго варианта формат окна рабочей области изменяется таким образом, что на столе виден только редактируемый символ.
При выборе третьего варианта остальные объекты остаются видны, но отображаются более блеклыми по сравнению с обычным состоянием (рис. 10.25).
Чтобы перейти к редактированию символа, достаточно щелкнуть на нем правой кнопкой мыши и выбрать в контекстном меню одну из трех команд:
Edit
(Правка) — включение режима редактирования символа;
Edit in Place
(Правка по месту) -- редактирование символа в контексте сцены;
Edit in New Window
(Правка в новом окне) — редактирование символа в новом окне.
Рис. 10.25.
Формат
окна Flash при редактировании символа в контексте сцены
В любом случае над панелью временной диаграммы появляется имя редактируемого символа, а на его изображении — отметка точки привязки в виде крестика; кроме того, если символ является кнопкой или клипом, временная диаграмма фильма заменяется временной диаграммой символа.
Для редактирования графического символа и кнопки могут применяться инструменты рисования и закрашивания (предварительно символ требуется выделить с помощью инструментов
Arrow, Subselect, Free Transform
или
Lasso),
а также средства трансформации изображения (поворот, наклон, отражение и т. д.).
Возможности по редактированию клипа зависят от того, каким образом создавалась анимация; соответствующие вопросы рассматриваются в главе «Анимация».
Если при редактировании символа открыть библиотеку, содержащую этот символ, то можно видеть, как вносимые изменения отображаются в окне библиотеки.
После завершения работы с символом следует выйти из режима его редактирования, щелкнув на имени сцены или (при редактировании символа в отдельном окне) выбрав сцену в раскрывающемся меню
Edit Scene.
Повторим еще раз, что редактирование символа приводит к модификации всех экземпляров этого символа, причем во всех фильмах, в которых имеется ссылка на него. Поэтому прежде, чем приступить к редактированию символа, подумайте, не лучше ли изменить несколько его экземпляров.
Если вы создали на столе анимированную последовательность изображений, и хотите использовать ее в нескольких сценах фильма (или даже в других Flash-фильмах), либо если вы хотите сделать анимацию интерактивной, целесообразно конвертировать ее в клип.
Без клипа просто не обойтись в том случае, если персонаж фильма не просто перемещается по сцене, а еще и совершает те или иные движения (моргает, шевелит конечностями и т. д.). Реализация подобных эффектов с помощью клипов основана на том, что каждый клип имеет собственную временную диаграмму, в которой смена кадров происходит независимо от считывающей головки временной диаграммы основного фильма. Например, на рис. 10.23 показаны фрагменты фильма, в котором жучок ползает по сцене, и при этом у него шевелятся лапки и усики.
Чтобы создать новый клип, необходимо:
В меню
Insert
выбрать команду
New Symbol.
В диалоговом окне
Symbol Properties
ввести имя символа (например,
Tarakan)
и установить переключатель
Behavior в
положение
Movie Clip.
Поместить на стол или нарисовать изображение, представляющее вид объекта в первом кадре клипа (для приведенного выше примера - исходное положение лапок и усиков жучка); при этом первый кадр временной диаграммы клипа автоматически становится ключевым, о чем говорит черная точка в ячейке кадра.
Рис. 10.23.
Пример использования символа-клипа в фильме
Любым из наиболее подходящих способов создайте анимацию; например, для нашего жучка изменение положения лапок и усиков выполнено с помощью покадровой анимации; соответствующая временная диаграмма показана на рис. 10.24.
Чтобы выйти из режима создания клипа, следует щелкнуть в панели инструментов рабочей области на кнопке со стрелкой (слева от имени сцены) или непосредственно на имени сцены.
Весьма распространенной является ситуация, когда автор сначала создает «обычную» анимацию, а затем решает использовать ее как элемент более сложного фильма. В этом случае, чтобы не выполнять работу заново, требуется преобразовать исходный фильм в клип.
Если вы решили создать символ-кнопку и выбрали соответствующий вариант в диалоговом окне
Symbol Properties,
Flash видоизменяет панель временной диаграммы (рис. 10.19). Дело в том, что кнопка во Flash представляет собой 4-кадровую анимацию, в которой первые три кадра соответствуют определенному состоянию кнопки: отжата
(Up),
находится под указателем
(Over)
или нажата
(Down).
Четвертый кадр
(Hit)
предназначен для описания активной области кнопки. Активная область — это пространство, щелчок внутри которого воспринимается Flash как щелчок на кнопке.
Как правило, каждому состоянию кнопки соответствует свое изображение кнопки (четвертый кадр при воспроизведении фильма не виден). Таким образом, описание символа-кнопки заключается в том, чтобы создать для каждого состояния некоторое изображение и сопоставить его соответствующему кадру временной диаграммы.
Рис. 10.19.
Формат панели временной диаграммы при создании символа-кнопки
Изображение может быть получено тремя способами:
с помощью инструментов рисования;
путем импорта или вставки через буфер обмена;
на основе экземпляра одного из ранее созданных символов.
Совет
При подборе (или создании) изображений для состояний кнопки лучше стремиться к тому, чтобы они были одного размера (если, конечно, вы не хотите удивить посетителя вашего сайта неожиданным эффектом). Для кадра Hit целесообразно использовать слегка увеличенный вариант изображения для состояния Up.
Итак, для создания кнопки на основе пустого символа необходимо:
В одном из указанных выше меню выбрать команду
New Symbol.
В диалоговом окне
Symbol Properties
ввести имя символа (например,
Button1)
и установить переключатель
Behavior
в положение
Button.
Поместить на стол или нарисовать изображение, представляющее кнопку в состоянии
Up
(Отжата); при этом первый кадр временной диаграммы автоматически становится ключевым, о чем говорит черная точка в ячейке кадра (рис. 10.20).
В меню
Insert
выбрать команду
Чтобы создать новый пустой символ:
Убедитесь, что на столе отсутствуют выбранные объекты, и затем выполните одно из следующих действий:
в меню
Insert
выберите команду
New Symbol
(Создать символ);
в нижнем левом углу окна библиотеки (если оно открыто) щелкните кнопку
New Symbol;
выберите команду с тем же именем из раскрывающегося меню окна библиотеки.
В открывшемся диалоговом окне
Symbol Properties
(см. рис. 10.16) укажите имя и тип символа.
При создании нового пустого символа Flash автоматически переходит в режим редактирования символа.
Об этом свидетельствует появление имени символа в панели инструментов рабочей области, а также значка регистрационной точки символа в виде тонкого перекрестия (рис. 10.18).
Пустой символ, несмотря на отсутствие содержимого, автоматически добавляется в библиотеку фильма.
Описанная выше процедура является общей для кнопок, клипов и графических символов. Тем не менее, создание кнопок и клипов имеет некоторые особенности, которые рассматриваются ниже.
Рис. 10.18.
Вид окна Flash в режиме редактирования символа
Символы могут создаваться двумя альтернативными способами: либо сначала создается некоторый объект, который затем преобразуется в символ, либо создается «пустая» заготовка символа, которая наполняется соответствующим содержимым.
Во Flash существует три основных типа символов: графические, кнопки и клипы.
Графический символ
(graphic symbol) используется в фильме в качестве статического или анимированного изображения. Его поведение описывается с помощью временной диаграммы основного фильма. Графическому символу не могут быть назначены интерактивные средства управления и звуковое сопровождение.
Символ-кнопка
(button symbol) предназначен для включения в фильм интерактивных кнопок, реагирующих на действия пользователя и управляющих воспроизведением фильма. С этой целью символу-кнопке могут быть назначены события (events), на которые она должна реагировать, и действия (Actions), которые инициализируются этими событиями. Кроме того, с кнопкой может связано звуковое сопровождение.
Символ-клип
(movie clip symbol) служит для включения в библиотеку фильма повторно используемых анимаций. Каждый клип имеет свою собственную временную диаграмму, которая воспроизводится независимо от временной диаграммы основного фильма. Клип может содержать собственные интерактивные элементы управления, а также клипы более низкого уровня вложенности. С другой стороны, и кнопка может содержать клип, позволяющий ее «оживить».
Поскольку отличительная особенность любого символа - это связь с библиотекой, то к семейству символов вполне можно отнести еще четыре разновидности элементов фильма:
звук;
импортированные растровые изображения;
шрифт-символ;
видео-клип.
Любой из этих элементов, будучи импортированным из внешнего источника, обязательно помещается автоматически в библиотеку фильма, и затем может быть многократно использован в фильме произвольное число раз без необходимости «размножения».
Для флажка (Checkbox) могут быть заданы следующие параметры (см. рис. 11.35, вверху):
Label
— текстовая метка, отображаемая на странице в качестве имени флажка; чтобы изменить метку, следует дважды щелкнуть на ней мышью и отредактировать;
Initial Value
— исходное состояние флажка; параметр принимает значение true или false: true (или 1) — если он установлен, и false (0) - если снят; чтобы установить требуемое значение, следует щелкнуть в строке параметра и выбрать его в появившемся списке (см. рис. 11.35, вверху);
Label Placement
(Расположение текстовой метки) — определяет положение текстовой метки относительно изображения флажка;
Рис. 11.36.
Пример использования флажков значение выбирается из списка, который содержит два варианта: right (справа) и left (слева);
Change Handler
(Изменить обработчик) — имя функции, вызываемой при изменении состояния флажка; вызываемая функция должна быть определена в сценарии, связанном с той же временной диаграммой, к которой относится флажок; данный параметр является необязательным и применяется только в том случае, если вы хотите активизировать некоторое действие, когда пользователь изменяет состояние флажка.
Пример использования флажков в фильме приведен на рис. 11.36.
Как было сказано в начале данной главы, панель
Actions
обеспечивает два режима работы.
В обычном режиме
(Normal Mode)
описание действий выполняется путем заполнения соответствующих полей параметров. В экспертном режиме
(Expert Mode)
вы можете записывать и корректировать действия непосредственно в окне сценария, работая в нем как в обычном текстовом редакторе.
По умолчанию при первом обращении к панели установлен режим
Normal Mode.
В обычных Windows-приложениях кнопки (PushButton или просто Button) используются для инициализации тех или иных действий. Кнопки, входящие в форму, размещенную на HTML-странице, обычно служат для инициализации пересылки введенных данных (кнопка
Submit),
либо для сброса введенных значений (кнопка
Reset).
Кнопки, реализованные в виде компонентов и помещаемые в Flash-фильм, могут применяться для инициализации любых действий. Фактически, они ничем не отличаются от символов-кнопок, рассмотренных выше, за исключением того, что для кнопки-компонента определены лишь два визуальных образа: для исходного состояния и когда она «нажата». Соответственно, кнопка-компонент не «реагирует» на перемещение указателя.
Для кнопки-компонента предусмотрен метод
setClickHandler,
который позволяет назначить кнопке функцию-обработчика единственного события — щелчка на кнопке
(Click).
Например, если в фильме имеется кнопка
button_1,
то в сценарии вы можете написать такую конструкцию:
button_1.setClickHandler(«onClick»);
здесь
onClick
— это имя функции-обработчика, которая должна быть определена для той же временной диаграммы, к которой относится кнопка
button_1.
помощью инспектора свойств для кнопки могут быть заданы два параметра (рис. 11.39):
Label
— текстовая метка, отображаемая на кнопке в качестве ее имени;
Change Handler
— имя функции-обработчика (то есть значение параметра метода
setClickHandler).
Рис. 11.39.
Формат инспектора свойств кнопки
Данный вид списка (ComboBox) отличается от рассмотренного выше тем, что для просмотра списка его необходимо открыть, щелкнув на кнопке списка. Кроме того, для него не предусмотрена возможность множественного выбора. Вместе с тем, для комбинированного списка может быть разрешено его редактирование пользователем. Пример комбинированного списка показан на рис. 11.44.
Для комбинированного списка предусмотрены следующие параметры (рис. 11.45):
Editable
(Редактируемый) — если параметр имеет значение
true,
то для списка разрешена возможность редактирования;
Labels
(Метки) - перечень наименований пунктов списка;
Data
(Данные) — перечень значений, соответствующих каждому
из пунктов списка;
Рис. 11.44.
Пример комбинированного списка
Рис. 11.45.
Формат инспектора свойств комбинированного списка
Row Count
(Число строк) — количество пунктов списка, отображаемых в окне списка, когда он открыт; если это число меньше длины списка, то он дополняется вертикальной полосой прокрутки.
В предыдущих версиях Flash использовалось понятие Smart Clip, то есть «сложный клип». Это специальный тип символов-клипов, на основе которых в Flash-фильмах создавались элементы пользовательского интерфейса (кнопки, флажки, переключатели и т. д.). Так вот «компоненты» (Components) — это «прямые наследники» Smart Clip.
В состав Flash MX включены семь типов компонентов:
CheckBox
— флажок;
ComboBox
— комбинированный список (то есть раскрывающийся список с возможностью редактирования пунктов);
ListBox -
список;
PushButton -
кнопка;
RadioButton
— переключатель;
ScrollBar
— полоса прокрутки;
ScrollPane -
окно.
С точки зрения программирования, на ActionScript компоненты представляют собой как бы подкласс объектов
MovieClip,
для которого предусмотрены специальные параметры и некоторые дополнительные методы. Параметры компонентов могут устанавливаться как во время разработки фильма, так и во время его воспроизведения, с помощью сценария. Методы, применимые к компонентам, собраны в специальном разделе списка
Action Toolbox,
который называется
Flash UI Components
(рис. 11.33).
Рис. 11.33.
Раздел Flash UI Components списка Action Toolbox
Наиболее распространенный вариант применения компонентов — это создание на их основе аналога формы, помещаемой на Web-странице. Вместе с тем, на основе компонентов вы можете создать для своего Flash-фильма «традиционный» для Windows-приложений пользовательский интерфейс. В этом случае работа пользователя с фильмом будет мало чем отличаться от работы с обычным приложением.
При использовании компонентов в качестве элементов формы Flash обеспечивает:
пересылку введенных в форму данных на сервер по заданному адресу;
обработку введенных данных на клиентской машине средствами языка ActionScript.
Другими словами, возможности Flash по работе с формами ни в чем не уступают возможностям HTML. Более того, в отличие от HTML страниц, Flash-фильм может оставаться загруженным в броузере при обмене информацией с сервером, без необходимости перезагрузки. Сохранение информации в базе данных на сервере и ее выдача по запросу из фильма позволяет создавать динамически обновляемое и персонализированное содержание фильма. Например, на основе форм Flash-фильма могут быть созданы «доска объявлений», или тележка в электронном магазине, которая «помнит», какой товар пользуется спросом у данного пользователя. При этом серверное приложение может быть написано на любом из применяемых для этого языков программирования (например, на Perl, ASP или PHP).
Подробное описание возможностей и особенностей ActionScript выходит за рамки данной книги. Дело в том, что в результате последних усовершенствований, внесенных в версию Flash MX, ActionScript превратился в настоящий язык программирования. Реализованные в нем возможности вполне заслуживают отдельной книги, соизмеримой по объему (а возможно, и превосходящей) с той, которая сейчас перед вами. Разумеется, с ростом возможностей увеличилась и сложность языка. И хотя его вполне по силам освоить начинающему программисту, но все же — программисту. А ведь далеко не каждый даже опытный пользователь компьютера может считать себя таковым. Поэтому мы ограничимся описанием основных концепций языка и общих правил построения сценариев на ActionScript. Практика показывает, что такого уровня знаний вполне достаточно для создания не очень сложных, но корректно работающих интерактивных фильмов.
ActionScript позволяет создавать сценарий для клипа, кнопки или кадра. Каждый такой сценарий (то есть фактически программа на языке ActionScript) жестко связан с соответствующим элементом фильма. При публикации фильма текст сценария, как и другие элементы фильма, экспортируется в SWF-файл. Тем не менее, при желании вы можете сохранить его в отдельном файле с расширением .as (это обычный текстовый файл), чтобы впоследствии использовать в каком-либо другом фильме (или подарить другу).
Из сценария вы можете обратиться к любому другому объекту фильма (из числа кнопок, клипов и кадров) и даже к другому фильму или какому-либо внешнему сетевому ресурсу. Например, можно указать, что при достижении считывающей головкой кадра с номером 10 необходимо загрузить звуковой файл, расположенный на сайте www.sound.ru. Поэтому Flash должен знать, в каких «отношениях» состоят объекты, фигурирующие в сценарии. Некорректное обращение к объекту обязательно приведет к ошибке в сценарии. Скажем, запрошенный звуковой файл будет воспроизведен в 10-м кадре временной диаграммы фильма, вместо того, чтобы озвучить 10-й кадр конкретного клипа.
В связи с указанными выше обстоятельствами, перед началом работы с ActionScript полезно разобраться с двумя понятиями:
объектная модель языка
и
контекст выполнения сценария.
Озвучивание фильма не связано непосредственно с обеспечением его интерактивности, однако на практике чаще всего звуковое сопровождение делают «управляемым» со стороны посетителя сайта. Это и понятно — ведь интересы и предпочтения посетителя должны быть для Web-дизайнера превыше всего. Не хочет он разделить с вами радость общения с музыкой (или какими-то другими звуками) — и не надо. Поэтому прежде, чем приступить к озвучиванию фильма, поместите в него кнопку с названием «Отключить звук» (или аналогичным). Процедура создания такой кнопки ничем не отличается от рассмотренной в подразделе «Назначение действий кнопке». Действие, которое следует связать с кнопкой, входит в раздел
Actions
и называется
Stop All Sounds
(Отключить все звуки).
Flash поддерживает несколько способов подключения звукового сопровождения. Вы можете использовать либо непрерывное звуковое сопровождение, не зависящее от временной диаграммы фильма, либо синхронизировать анимацию и звуковую дорожку. Разрешается назначать звуки кнопкам, кадрам и клипам, подобно тому, как этим элементам назначаются другие действия.
Добавленные в фильм звуки помещаются в библиотеку фильма, наряду с растровыми изображениями и другими символами. Вы можете также поместить звуки в общую или разделяемую библиотеку, чтобы получить возможность использовать их в нескольких фильмах.
Flash не располагает средствами создания звуков, но позволяет импортировать звуковые файлы в различных форматах (в том числе WAV и МРЗ) и затем корректировать параметры звука в соответствии с требованиями фильма.
Чтобы добавить звук к фильму, необходимо выполнить следующие действия:
Импортируйте в фильм один или несколько звуковых файлов; для этого в меню
File
выберите команду
Import,
а с помощью стандартного окна Windows - требуемый файл; в результате содержимое файла будет автоматически добавлено в библиотеку фильма в качестве специального символа.
Добавьте во временную диаграмму фильма новый слой, который будет использоваться в качестве звукового (использование Отдельного звукового слоя облегчает тестирование и модификацию фильма); разрешается создавать несколько звуковых слоев, и каждый из них будет работать подобно отдельному звуковому каналу; это означает, что при воспроизведении фильма звуки на разных слоях, совпадающие во времени, воспроизводятся одновременно.
Инструмент для работы с ActionScript реализован в виде диалоговой панели
Actions
(Действия), внешний интерфейс которой ничем не отличается от других панелей Flash MX, рассмотренных в предыдущих главах. Однако при более близком знакомстве с ней оказывается, что это самый настоящий редактор для создания сценариев на ActionScript. Причем работать он может в двух режимах: обычном (то есть предназначенном для «обычных» пользователей) —
Normal,
и в экспертном (для «продвинутых» пользователей) —
Expert.
В первом случае пользователю предлагается как бы визуальный режим работы и доля ручного кодирования сведена к минимуму, либо вообще равна нулю. Во втором режиме пользователь получает большую свободу действий, но при этом лишается некоторых вспомогательных средств. В качестве предварительной иллюстрации к сказанному на рис. 11.1 показаны оба формата панели применительно к одному и тому же «мини-сценарию», состоящему из единственной инструкции. Ниже особенности каждого из форматов будут рассмотрены подробно.
Рис. 11.1.
Экспертный (вверху) и обычный (внизу) форматы панели Actions
Действие
getURL
входит в подраздел
Browser/Network.
Это действие позволяет загрузить в броузер документ, расположенный по указанному URL, либо переслать значения некоторых переменных (например, данных из формы) в приложение, размещенное по определенному URL. При этом следует учитывать, что действие
getURL
обеспечивает пересылку данных только для текущего фильма.
Замечание
Для тестирования действия getURL требуется, чтобы адрес запрошенного файла был указан в виде абсолютного URL.
Чтобы создать кнопку, обеспечивающую переход по заданному URL, требуется выполнить следующие действия:
Добавьте в фильм новый «фоновый» слой.
Поместите на него кнопку, которой будет назначено действие
getURL.
Откройте панель
Actions.
В списке
Actions Toolbox
откройте раздел
Actions,
затем -- подраздел
Browser/Network
и дважды щелкните в строке
getURL;
в результате в окне сценария появится соответствующая конструкция на языке ActionScript, а в панели параметров — параметры действия
getURL
(рис. 11.24).
Рис. 11.24.
Панель Actions после назначения кнопке действия getURL
Введите требуемые значения параметров.
По умолчанию действие
getURL
выполняется по щелчку на кнопке событие
(release);
если требуется добавить или изменить событие, щелкните в окне сценария в строке селектора и с помощью панели параметров измените перечень событий.
Рассмотрим подробнее параметры действия
getURL.
Параметр
URL
определяет адрес запрашиваемого документа; значение параметра может быть задано в виде абсолютного или относительного URL, либо в виде вычисляемого выражения.
При указании относительного URL для поиска требуемого документа Flash перемещается по иерархии файлы/папки/каталоги и обратно, начиная с того файла, в котором содержится процедура
getURL.
Чтобы получить URL как результат вычисления некоторого выражения, установите флажок
Expression,
расположенный справа от поля
URL,
и введите требуемое выражение.
Напомним, что в отличие от флажков, переключатели (RadioButton) обеспечивают выбор только одного из нескольких взаимоисключающих вариантов. При этом все переключатели, расположенные в одном слое сцены, по умолчанию считаются входящими в одну группу. Поэтому даже в том случае, если при установке параметров вы укажете для нескольких переключателей одного слоя (группы) состояние «включен», при воспроизведении фильма окажется включен только один из них (созданный последним), как показано на рис. 11.37.
Рис. 11.37.
В этом слое может быть включен только один переключатель
Кроме того, следует иметь в виду, что при воспроизведении фильма посетитель сайта сможет изменить состояние переключателя только в том случае, если имеется хотя бы один альтернативный вариант (то есть в группе должно быть не менее двух переключателей).
Для переключателя может быть задан почти тот же набор параметров, что и для флажка, за исключением двух дополнительных (рис. 11.38):
Group Name
(Имя группы) — наименование группы, к которой относится данный переключатель;
Data
(Данные) — данные, подлежащие пересылке на сервер (или обработке с помощью локального сценария), если данный переключатель установлен; параметр является не обязательным.
Рис. 11.38.
Формат инспектора свойств переключателя
Прокручиваемая область (ScrollPane) -- это подокно (или панель) внутри окна Flash-фильма, предназначенное для отображения некоторой относительно самостоятельной информации. Например, вы можете использовать такое подокно для вывода на экран дополнительного иллюстративного материала. Прокручиваемая область по умолчанию снабжена вертикальной и горизонтальной полосами прокрутки.
Особенность применения подокна в Flash состоит в том, что в качестве его содержимого может использоваться только символ-клип.
Пример использования подокна показан на рис. 11.46.
С помощью инспектора свойств для подокна могут быть заданы следующие параметры (рис. 11.47):
Рис. 11.46.
Пример использования подокна
Рис. 11.47.
Формат инспектора свойств подокна
Scroll Content
(Прокручиваемое содержимое) — имя экземпляра клипа, подлежащего отображению в подокне;
Horizontal Scroll
(Горизонтальная прокрутка) — логический параметр, определяющий один из трех вариантов использования горизонтальной полосы прокрутки:
Auto -
при необходимости;
False
— никогда;
True
— всегда;
Vertical Scroll
(Вертикальная прокрутка) - логический параметр, определяющий один из трех вариантов использования,вертикальной полосы прокрутки;
Drag Content
(Перетаскивание содержимого) — логический параметр, определяющий возможность перемещения пользователем содержимого внутри подокна.
Замечание
Чтобы проверить работоспособность компонентов, включенных в фильм, необходимо перейти в режим тестирования фильма или сцены, выбрав команду Test Movie или Test Scene. Для тестирования реального обмена данными с сервером требуется предварительно экспортировать фильм в формат HTML (см. раздел «Публикация фильма»).
При включении в фильм экземпляра компонента в библиотеку фильма добавляется не только собственно символ данного типа, но и его «составные части», формирующие внешний вид компонента — Component Skins (Оболочка компонента). Фрагменты каждого компонента помещаются в отдельную одноименную папку. Например, фрагменты флажка находятся в папке
FCheckBox Skins
(рис. 11.48).
Рис. 11.48.
Библиотека фильма, использующего компоненты
Все фрагменты компонента доступны для редактирования. Благодаря этому вы легко можете изменить внешний вид любого компонента, сохранив при этом его «поведение». Например, вы можете изменить форму «птички», появляющейся при установке флажка. Для этого, в частности, необходимо:
В окне библиотеки фильма открыть папку
FCheckBox Skins,
отыскать в ней требуемый фрагмент и перетащить его на стол.
Перейти в режим редактирования символа (поскольку все фрагменты компонентов являются символами-клипами), как показано на рис. 11.49.
Изменить внешний вид или «поведение» фрагмента.
Рис. 11.49.
Редактирование фрагмента флажка
Экспертный режим позволяет совмещать два способа формирования сценария: непосредственный ввод конструкций языка ActionScript с клавиатуры и вставку их в окно сценария из списка
Actions Toolbox.
Окно параметров при работе в экспертном режиме не отображается. В этом режиме не могут также использоваться кнопки удаления и перемещения строк сценария (рис. 11.16):
Рис. 11.16.
Формат панели Action в режиме Expert Mode
Экспертный режим предназначен в первую очередь для тех, кто знаком с программированием на ActionScript. Поэтому, если вы хотите воспользоваться преимуществами данного режима, необходимо освоить основные приемы программирования на ActionScript.
Вместе с тем, уровень поддержки пользователя, реализованный в Flash MX, позволяет самостоятельно создавать сценарии различного уровня сложности. Для этого в составе редактора сценариев имеются следующие средства:
динамическая подсказка по конструкциям языка, реализованная в виде всплывающего списка параметров (рис. 11.17);
встроенная утилита проверки синтаксиса
Check Syntax.
Активизация обоих инструментов выполняется с помощью соответствующих кнопок, расположенных на панели инструментов окна сценария (рис. 11.18).
Замечание
Обратите внимание, что в режиме Expert Mode кнопка Insert а target path доступна постоянно.
Щелчок на кнопке
Check Syntax
непосредственно активизирует процесс поиска синтаксических ошибок. В случае их обнаружения на экран выводится специальное диалоговое окно. С его помощью вы не только получаете исчерпывающую информацию о характере, причинах и месте положения обнаруженной ошибки, но и можете настраивать параметры работы утилиты
Check Syntax.
Такая установка выполняется с помощью команд раскрывающихся меню окна (рис. 11.19).
Рис. 11.17.
Динамическая подсказка по конструкциям языка
Рис. 11.18.
Панель инструментов окна сценария в режиме Expert Mode
Для отыскания ошибок в более сложных сценариях может применяться специальный отладчик —
Связав сценарий с некоторым ключевым кадром фильма, можно обеспечить автоматическую инициализацию тех или иных действий при достижении считывающей головкой этого кадра.
Как правило, все кадры, которым назначены действия, стараются поместить в отдельном слое временной диаграммы. Это облегчает тестирование и редактирование фильма.
Чтобы связать с кадром некоторый сценарий, необходимо:
Щелкнуть правой кнопкой мыши в ячейке кадра и в контекстном меню выбрать команду
Actions
(если выбранный кадр не является ключевым, то действие будет назначено предшествующему ключевому кадру).
В списке
Actions Toolbox
открыть раздел
Actions,
а в нем -требуемый подраздел.
Дважды щелкнуть мышкой на действии, которое вы хотите назначить кадру; при этом в окно сценария будет помещена соответствующая конструкция на языке ActionScript; обратите внимание, что сценарий кадра не содержит селектора; объясняется это тем, что для кадров предусмотрен только один тип событий— переход считывающей головки.
Имейте в виду, что действия, назначенные кадру, в режиме редактирования не работают. Чтобы протестировать фильм, необходимо в меню
Control
выбрать команду
Test Movie
(или
Test Scene).
В качестве примера рассмотрим назначение кадру действия
goto,
входящего в подраздел
Movie Control.
Результатом его выполнения является переход к заданному кадру или сцене. Переход к одному из предыдущих кадров фильма обеспечивает циклическое повторное воспроизведение соответствующего фрагмента фильма.
Замечание
На самом деле действия goto как такового не существует, в ActionScript используются два действия, реализующие
два варианта перехода на требуемый кадр или сцену: gotoAndPlay (Перейти и воспроизвести) и gotoAndStop (Перейти и остановить).
Для обоих вариантов перехода предусмотрены следующие параметры (рис. 11.28):
Scene
(Сцена) - задает сцену, на которую требуется перейти, или на которой расположен кадр, на который требуется перейти; значение параметра выбирается с помощью раскрывающегося списка, который содержит четыре основных пункта:
Как было отмечено в начале данной главы, клип, как и кнопка, может «реагировать» на те или иные события. Поэтому в большинстве случаев основу сценария для клипа составляет перечень обработчиков, описывающих реакцию клипа на те или иные события.
Чтобы связать с клипом сценарий, необходимо:
Щелкнуть правой кнопкой на клипе, которому вы хотите назначить действие (имейте в виду, что двойной щелчок левой кнопкой на изображении клипа обеспечивает переход в режим редактирования символа).
В контекстном меню выбрать команду
Actions.
В разделе
Actions
выбрать требуемое действие и перенести его в окно сценария.
В поле параметров ввести требуемые значения (если для данного действия они предусмотрены).
В окне сценария щелкнуть на строке с обработчиком
onClipEvent;
при этом в поле параметров появится перечень допустимых типов событий, которые могут инициализировать действие (рис. 11.29).
Выберите тип события, при наступлении которого введенные данные должны быть переданы на сервер; обратите внимание, что, в отличие от кнопок, для клипа может быть выбран только один из типов событий; перечень типов событий также отличается от предусмотренного для кнопок:
load
— действие инициализируется, как только экземпляр клипа появляется на столе;
unload
— действие инициализируется при переходе к первому кадру после выгрузки клипа;
enterFrame -
действие инициализируется при переходе к каждому очередному кадру;
mouseMove
— действие инициализируется при каждом перемещении мыши;
mouseDown
— действие инициализируется при нажатии левой кнопки мыши;
mouseUp
- действие инициализируется, когда левая кнопка мыши освобождается;
keyDown
— действие инициализируется при нажатии заданной клавиши на клавиатуре;
keyUp
— действие инициализируется, когда нажатая клавиша освобождается;
data
— действие инициализируется, когда закончена загрузка данных с сервера.
Рис. 11.29.
Перечень допустимых событий для клипа
В качестве примера сценария, связанного с клипом, рассмотрим процедуру создания маски, реализованной в виде клипа. Поскольку такая маска представляет собой «мультик» в «мультике», то это позволяет получить весьма интересные дополнительные визуальные эффекты.
Кнопка является наиболее удобным и простым средством взаимодействия пользователя с Flash-фильмом. Кнопке может быть назначено любое из действий, входящих в раздел
Actions.
Кроме того, назначив кнопке несколько управляющих событий и сопоставив каждому из них определенное действие (или сценарий), вы можете превратить одну кнопку в целый пульт управления фильмом. Хотя в общем случае, разумеется, каждому действию можно сопоставить отдельную кнопку. Как, например, в фильме, посвященном управлению автомобилем (рис. 11.2 1).
Рис. 11.21.
Пример применения кнопок в интерактивном фильме
Список (ListBox) в Flash-фильме, как и в других Windows-приложениях, предназначен для реализации возможности выбора одного или нескольких предлагаемых вариантов. Список единичного выбора (он используется в Flash по умолчанию) аналогичен группе переключателей, список множественного выбора аналогичен группе флажков. Пример использования списка единичного выбора показан на рис. 11.40.
Рис. 11.40. Пример
использования списка единичного выбора
Для списка может быть задан следующий набор параметров х(рис. 11.41):
Labels
(Метки) - перечень наименований пунктов списка;
Data
(Данные) — перечень значений, соответствующих каждому из пунктов списка;
Select Multiple
(Множественный выбор) — если параметр имеет значение
true,
то для списка разрешена возможность множественного выбора;
Change Handler
(Изменить обработчика) — имеет тот же смысл, что и для других компонентов.
Рис. 11.41.
Формат инспектора свойств списка
Чтобы задать количество и наименования элементов списка, следует щелкнуть мышью в строке
Labels,
затем — на появившейся справа кнопке и внести необходимые изменения в открывшемся диалоговом окне (рис. 11.42).
Рис. 11.42.
Диалоговое окно для редактирования элементов списка
Расположенные в верхней части окна кнопки позволяют добавлять, удалять и изменять порядок следования элементов списка. Чтобы изменить наименование элемента, необходимо щелкнуть в соответствующей строке и отредактировать его.
Аналогично выполняется и ввод значений, связанных с пунктами списка. Соответствующее диалоговое окно показано на рис. 11.43.
Рис.11.43.
Диалоговое окно для редактирования значений, связанных с элементами списка
Существует несколько способов вызова на экран панели
Actions.
Однако наиболее надежный и корректный способ состоит в том, чтобы вызывать панель «от имени» того элемента фильма, для которого вы собираетесь создать сценарий.
Чтобы открыть панель
Actions
для создания сценария кадра, необходимо щелкнуть правой кнопкой мыши на временной диаграмме в ячейке соответствующего ключевого кадра и в контекстном меню выбрать команду
Actions.
После того, как панель появится на экране, убедитесь, что создаваемый сценарий будет связан именно с тем кадром, с которым требуется. Для этого достаточно взглянуть на заголовок панели и расположенный под ним список (рис. 11.4).
Рис. 11.4.
Заголовок панели Actions при создании сценария для кадра
Чтобы открыть панель
Actions
для создания сценария, связанного с кнопкой или с клипом, необходимо:
Выбрать соответствующий объект на столе.
Открыть панель инспектора свойств.
Щелкнуть кнопку
Edit the action script
(Редактировать сценарий действий), расположенную возле правой границы панели инспектора свойств (рис. 11.5).
Рис. 11.5.
Кнопка вызова панели Actions для кнопки или клипа
Эта маленькая кнопочка обладает интересной особенностью: если сценарий для данного объекта отсутствует, она белого цвета, после создания сценария она «синеет».
При вызове панели
Actions
для кнопки или клипа в ее заголовке отображается соответствующая информация (рис. 11.6).
Рис. 11.6.
Заголовок панели Actions при создании сценария для кнопки
Замечание
Сценарий может быть сопоставлен только конкретному экземпляру кнопки или клипа, помещенному на стол, но не
собственно символу, хранящемуся в библиотеке. Назначение сценария экземпляру кнопки или клипа не влияет на свойства других экземпляров.
После того, как панель будет открыта, вы можете выбрать режим работы.
Выбор режима выполняется с помощью соответствующих команд меню
View Options
(Настройка формата), которое открывается щелчком на одноименной кнопке панели (рис. 11.7).
С помощью действий
loadMovie
и
unloadMovie
можно обеспечить динамическую загрузку дополнительных фильмов или их выгрузку без повторной инициализации Flash-плеера.
Такая технология обеспечивает эффективное решение следующих задач:
загрузка больших фильмов; фильм может быть разбит на несколько «серий», в конце каждой из которых помещается команда загрузки следующей; в результате посетитель сайта получает возможность просматривать очередную «серию», не дожидаясь, пока загрузится весь фильм;
построение «многоуровневого» интерфейса: интерфейс предыдущего уровня позволяет управлять фильмом следующего уровня;
построение своеобразного гипертекстового фильма, в котором пользователь может переходить от одного SWF-файла к другому.
Чтобы создать кнопку, обеспечивающую загрузку дополнительных фильмов, требуется выполнить следующие действия:
Добавьте новый «фоновый» слой.
Поместите на него кнопку, которой будет назначено действие
loadMovie.
Откройте панель
Actions.
В списке
Actions Toolbox
откройте раздел
Actions,
затем -- подраздел
Browser/Network
и дважды щелкните в строке
loadMovie;
в результате в окне сценария появится соответствующая конструкция на языке ActionScript, а в панели параметров — параметры действия
loadMovie
(рис. 11.25).
Рис. 11.25.
Панель Actions после назначения кнопке действия loadMovie
Введите требуемые значения параметров.
По умолчанию действие
loadMovie
выполняется по щелчку на кнопке (событие
release);
если требуется добавить или изменить событие, щелкните в окне сценария в строке обработчика и с помощью панели параметров измените перечень событий.
Рассмотрим подробнее параметры действия
loadMovie.
Параметр
URL
определяет адрес загружаемого фильма (SWF-файла); значение параметра может быть задано в виде абсолютного или относительного URL, либо в виде вычисляемого выражения.
Параметр
Location
(Расположение) определяет «место» загружаемого фильма или клипа в иерархии. Для фильма его положение определяется относительным уровнем (Level), для клипа — положением клипа-предшественника (Target), который он должен заместить.
Шаблон представляет собой текстовый файл, который содержит «заготовку» для создания HTML-документа, обеспечивающего загрузку Flash-фильма в окно броузера. От обычного HTML-документа шаблон отличается тем, что в нем используется специальный заголовок и так называемые переменные шаблона. Переменная шаблона - это предопределенная последовательность символов, начинающаяся со знака доллара $, например,
$LO.
При генерации HTML-документа Flash заменяет переменные шаблона значениями параметров, указанных в окне
Publish Settings.
Если вы достаточно хорошо знаете HTML, то можете открыть файл шаблона в текстовом редакторе (например, в
Блокноте)
или в HTML-редакторе и скорректировать его таким образом, чтобы получился требуемый HTML-документ. В частности, вы можете добавить в него сценарии на JavaScript или VBScript. Если в шаблоне не останется ни одной переменной, Flash вообще ничего не будет изменять в этом файле.
Все файлы шаблонов находятся в папке
Flash MX\First Run\HTML
и имеют расширение
html.
На рис. 12.10 показан шаблон
Default.html,
открытый в редакторе
Блокнот.
В таблице 12.1 приведены переменные шаблона для некоторых параметров публикации фильма.
Рис. 12.10. Пример шаблона
Таблица 12.1 Переменные шаблона для некоторых параметров публикации фильма
Параметр публикации |
Переменная шаблона |
||
Заголовок шаблона |
$ТТ |
||
Начало описания шаблона |
$DS |
||
Конец описания шаблона |
$DF |
||
Заголовок HTML-документа |
$TI |
||
Цвет фона HTML-документа |
$BG |
||
Ширина окна фильма |
$WI |
||
Высота окна фильма |
SHE |
||
Имя файла фильма (.swf) |
$MO |
||
Список URL фильма |
$MU |
||
Текст |
$MT |
||
Параметры для тэга <OBJECT> |
$PO |
||
Параметры для тэга <EMBED> |
$PE |
||
Ширина GIF-изображения |
SOW |
||
Высота GIF-изображения |
$GH |
||
Ширина JPEG-изображения |
$JW |
||
Высота JPEG-изображения |
$JH |
||
Режим окна |
$WM |
||
Из приведенных в таблице переменных шаблона дополнительного пояснения требуют две —
$MU
и
$МТ.
Переменная
$MU
указывает Flash, что необходимо сформировать список URL, используемых в фильме, и поместить его в текст документа в виде комментария. Такой список может оказаться полезным при проверке корректности используемых URL.
Переменная
$МТ
указывает Flash, что требуется вставить весь текст из фильма в тело HTML-документа в виде комментария. Это позволит поисковым машинам проиндексировать содержимое фильма и в последующем использовать ключевые слова при поиске.
Для Flash-фильма, как и для любого другого Web-ресурса, является актуальной задача сокращения времени его загрузки броузером, а самый надежный способ ее решения — уменьшение размера SWF-файла.
В процессе экспорта фильма Flash выполняет некоторые операции, направленные на сокращение его размера. В частности, при наличии повторяющихся фигур Flash оставляет только одну копию; если в фильме присутствуют вложенные группы, Flash преобразует их в отдельные. Однако зачастую этого оказывается недостаточно для достижения требуемого результата. Поэтому перед публикацией фильма целесообразно вручную выполнить некоторые дополнительные преобразования элементов фильма.
Чтобы сократить размер фильма в целом:
все элементы, используемые в фильме более одного раза, пре-образуйте в символы соответствующего типа; например, повторяющиеся анимированные последовательности следует преобразовать в клип;
ограничьте изменяемую область в каждом ключевом кадре; сделайте так, чтобы действие происходило на минимальной площади стола;
избегайте анимирования растровых элементов; используйте растровые изображения только в качестве фона или статических элементов;
для представления звука применяйте формат МРЗ, где это возможно.
Чтобы минимизировать размер графических элементов и линий: D группируйте элементы, где это возможно;
помещайте элементы, которые изменяются в ходе анимации, в отдельные слои;
используйте возможности Flash по оптимизации числа кривых;
по возможности ограничивайте число специальных типов линий (штриховых, точечных и т. д.); имейте в виду, что линии, нарисованные с помощью инструмента
Pencil,
занимают в памяти меньше места, чем созданные с помощью инструмента
Brush.
Чтобы минимизировать затраты на хранение текстовой информации:
ограничьте число используемых шрифтов и стилей; помните, что применение внедренных шрифтов увеличивает размер фильма;
при установке параметров внедренного шрифта включайте только те типы символов, которые действительно использованы в тексте.
При тестировании фильма, а также при публикации его с помощью команды
Publish
используются параметры публикации, установленные по умолчанию. Чтобы установить собственные значения этих параметров, следует воспользоваться командой
Publish Settings
(Параметры публикации) из меню
File.
Выбор данной команды приводит к открытию диалогового окна, с помощью которого и выполняются требуемые изменения.
В исходном состоянии окно содержит три вкладки (рис. 12.4):
Formats
(Форматы) — данная вкладка предназначена для выбора форматов файлов, которые должны быть созданы при публикации фильма; дополнительно вы можете ввести собственное имя для каждого генерируемого файла, сняв флажок
Use default names
(Использовать имена, установленные по умолчанию); если необходимо, можно указать полный маршрут доступа к файлу, причем для каждого файла свой; при выборе одного из дополнительных форматов в окне
Publish Settings
создается соответствующая вкладка; если выбран какой-либо графический формат (GIF, JPEG, PNG), то в HTML автоматически будет добавлен соответствующий текст, обеспечивающий при отсутствии Flash-плеера замену фильма графикой;
Flash —
данная вкладка обеспечивает установку параметров экспорта файла FLA в формат SWF;
HTML -
элементы этой вкладки обеспечивают выбор некоторых дополнительных параметров размещения фильма на HTML-странице.
Рис. 12.4.
Окно установки параметров публикации
Кнопка
ОК
обеспечивает сохранение установленных параметров без инициализации команды
Publish;
введенные значения будут использоваться по умолчанию для всех последующих публикаций.
Кнопка
Publish,
помимо сохранения установленных параметров, инициализирует выполнение команды
Publish.
Вкладка
Flash
содержит следующие элементы (рис. 12.5):
Раскрывающийся список
Version
позволяет выбирать версию Flash-плеера, для которой должен быть сгенерирован SWF-файл;
Раскрывающийся список
Load Order
(Очередность загрузки), который позволяет выбрать очередность загрузки слоев первого кадра фильма: либо снизу вверх