Как было отмечено в начале данной главы, клип, как и кнопка, может
«реагировать» на те или иные события. Поэтому в большинстве случаев основу сценария для клипа составляет перечень обработчиков, описывающих реакцию клипа на те или иные события.
Чтобы связать с клипом сценарий, необходимо:
1. Щелкнуть правой кнопкой на клипе, которому вы хотите назначить действие.
2. В контекстном меню выбрать команду Actions.
3. В разделе Actions выбрать требуемое действие и перенести его в окно сценария.
4. В поле параметров ввести требуемые значения.
5. В окне сценария щелкнуть на строке с обработчиком onClipEvent. При этом в поле параметров появится перечень допустимых типов событий, которые могут инициализировать действие.
6. Выберите тип события, при наступлении которого введенные данные должны быть переданы на сервер. Обратите внимание, что в отличие от кнопок для клипа может быть выбран только один из типов событий. Перечень типов событий также отличается от предусмотренного для кнопок:
- load - действие инициализируется как только экземпляр клипа появляется на столе;
- unload - действие инициализируется при переходе к первому кадру после выгрузки клипа;
- enterFrame - действие инициализируется при переходе к каждому очередному кадру;
- mouseMove - действие инициализируется при каждом перемещении мыши;
- mouseDown - действие инициализируется при нажатии левой кнопки мыши;
- mouseUp - действие инициализируется, когда левая кнопка мыши освобождается;
- keyDown - действие инициализируется при нажатии заданной клавиши на клавиатуре;
- keyUp - действие инициализируется, когда нажатая клавиша освобождается;
- data - действие инициализируется, когда закончена загрузка данных с сервера.
Компоненты Flash
В состав Flash включены семь типов компонентов:
· CheckBox - флажок;
· ComboBox - комбинированный список;
· ListBox - список;
· PushButton - кнопка;
· RadioButton — переключатель;
· ScrollBar — полоса прокрутки;
· ScrollPane - окно.
С точки зрения программирования, на ActionScript компоненты представляют собой как бы подкласс объектов MovieClip, для которого предусмотрены специальные параметры и некоторые дополнительные методы. Параметры компонентов могут устанавливаться как во время разработки фильма, так и во время его воспроизведения, с помощью сценария. Методы, применимые к компонентам, собраны в специальном разделе списка Action Toolbox, который называется Flash UI Components.
Наиболее распространенный вариант применения компонентов - это создание на их основе аналога формы, помещаемой на Web-странице. Вместе с тем, на основе компонентов можно создать для своего Flash-фильма «традиционный» для Windows- приложений пользовательский интерфейс. В этом случае работа пользователя с фильмом будет мало чем отличаться от работы с обычным приложением. При использовании компонентов в качестве элементов формы Flash обеспечивает:
· пересылку введенных в форму данных на сервер по заданному адресу;
· обработку введенных данных на клиентской машине средствами языка
ActionScript.
Вставку компонентов в фильм удобнее всего выполнять с помощью специальной панели, которая так и называется - Components Для установки исходных параметров экземпляра компонента, включенного в фильм, целесообразно воспользоваться инспектором свойств. Его формат для компонентов несколько отличается от используемого для других элементов фильма. Основное отличие состоит в том, что панель инспектора свойств компонента имеет две вкладки:
· Properties (Свойства), с помощью которой устанавливаются свойства компонента. Эта вкладка одинакова для всех компонентов;
· Parameters (Параметры), предназначенная для установки параметров компонента как элемента пользовательского интерфейса. Для каждого типа компонента набор параметров различен.
Ниже рассмотрены особенности применения в фильме компонентов различных типов.
Флажки. Для флажка (Checkbox) могут быть заданы следующие параметры:
· Label - текстовая метка, отображаемая на странице в качестве имени флажка, чтобы изменить метку, следует дважды щелкнуть на ней мышью и отредактировать;
· Initial Value - исходное состояние флажка; параметр принимает значение true (или
1) - если флажок установлен, и false (0) - если снят, для установки требуемого значения, следует щелкнуть в строке параметра и выбрать его в появившемся списке;
· Label Placement (Расположение текстовой метки) - определяет положение текстовой метки относительно изображения флажка;
· Change Handler (Изменить обработчик) - имя функции, вызываемой при изменении состояния флажка. Вызываемая функция должна быть определена в сценарии, связанном с той же временной диаграммой, к которой относится флажок. Данный параметр является необязательным и применяется только в том случае, если надо активизировать некоторое действие, когда пользователь изменяет состояние флажка.
Переключатели. В отличие от флажков, переключатели (RadioButton) обеспечивают выбор только одного из нескольких взаимоисключающих вариантов. При этом все переключатели, расположенные в одном слое сцены, по умолчанию считаются входящими в одну группу. Поэтому даже в том случае, если при установке параметров вы укажете для нескольких переключателей одного слоя (группы) состояние «включен», при воспроизведении фильма окажется включен только один из них (созданный последним). Кроме того, следует иметь в виду, что при воспроизведении фильма посетитель сайта сможет изменить состояние переключателя только в том случае, если имеется хотя бы один альтернативный вариант (то есть в группе должно быть не менее двух переключателей).
Для переключателя может быть задан почти тот же набор параметров, что и для флажка, за исключением двух дополнительных:
· Group Name (Имя группы) - наименование группы, к которой относится данный переключатель;
· Data (Данные) - данные, подлежащие пересылке на сервер (или обработке с помощью локального сценария), если данный переключатель установлен, то параметр является не обязательным.
Кнопки. В обычных Windows-приложениях кнопки (PushButton или просто Button) используются для инициализации тех или иных действий. Кнопки, реализованные в виде компонентов и помещаемые в Flash-фильм, могут применяться для инициализации любых действий. Фактически, они ничем не отличаются от символов-кнопок, рассмотренных выше, за исключением того, что для кнопки-компонента определены лишь два визуальных образа: для исходного состояния и когда она «нажата». Соответственно, кнопка-компонент не «реагирует» на перемещение указателя.
Для кнопки-компонента предусмотрен метод setClickHandler, который позволяет назначить кнопке функцию-обработчика единственного события - щелчка на кнопке (Click). Например, если в фильме имеется кнопка button_1, то в сценарии вы можете написать такую конструкцию: button_1.setClickHandler(«onClick»). Здесь onClick - это имя функции-обработчика, которая должна быть определена для той же временной диаграммы, к которой относится кнопка button_1.
С помощью инспектора свойств для кнопки могут быть заданы два параметра:
· Label - текстовая метка, отображаемая на кнопке в качестве ее имени;
· Change Handler - имя функции-обработчика (значение параметра метода
setClickHandler).
Списки. Список (ListBox) в Flash-фильме, как и в других Windows-приложениях, предназначен для реализации возможности выбора одного или нескольких предлагаемых вариантов. Список единичного выбора (он используется в Flash по умолчанию) аналогичен группе переключателей, список множественного выбора аналогичен группе флажков.
Для списка может быть задан следующий набор параметров:
· Labels (Метки) - перечень наименований пунктов списка;
· Data (Данные) - перечень значений, соответствующих каждому из пунктов списка;
· Select Multiple (Множественный выбор) - если параметр имеет значение true, то для списка разрешена возможность множественного выбора;
· Change Handler (Изменить обработчика)- имеет тот же смысл, что и для других компонентов.
Чтобы задать количество и наименования элементов списка, следует щелкнуть мышью в строке Labels, затем - на появившейся справа кнопке и внести необходимые изменения в открывшемся диалоговом окне. Расположенные в верхней части окна кнопки позволяют добавлять, удалять и изменять порядок следования элементов списка. Чтобы изменить наименование элемента, необходимо щелкнуть в соответствующей строке и отредактировать его. Аналогично выполняется и ввод значений, связанных с пунктами списка.
Комбинированный список. Данный вид списка (ComboBox) отличается от рассмотренного выше тем, что для просмотра списка его необходимо открыть, щелкнув на кнопке списка. Кроме того, для него не предусмотрена возможность множественного выбора. Вместе с тем, для комбинированного списка может быть разрешено его редактирование пользователем.
Для комбинированного списка предусмотрены следующие параметры:
· Editable (Редактируемый) — если параметр имеет значение true, то для списка разрешена возможность редактирования;
· Labels (Метки) - перечень наименований пунктов списка;
· Data (Данные) — перечень значений, соответствующих каждому из пунктов списка;
· Row Count (Число строк) — количество пунктов списка, отображаемых в окне списка, когда он открыт; если это число меньше длины списка, то он дополняется вертикальной полосой прокрутки.
Прокручиваемая область. Прокручиваемая область (ScrollPane) - это подокно (или панель) внутри окна Flash-фильма, предназначенное для отображения некоторой относительно самостоятельной информации. Например, вы можете использовать такое подокно для вывода на экран дополнительного иллюстративного материала. Прокручиваемая область по умолчанию снабжена вертикальной и горизонтальной полосами прокрутки. Особенность применения подокна в Flash состоит в том, что в качестве его содержимого может использоваться только символ-клип.
С помощью инспектора свойств, для подокна могут быть заданы следующие параметры:
· Scroll Content (Прокручиваемое содержимое) - имя экземпляра клипа, подлежащего отображению в подокне;
· Horizontal Scroll (Горизонтальная прокрутка) - логический параметр, определяющий один из трех вариантов использования горизонтальной полосы прокрутки:
- Auto - при необходимости;
- False - никогда;
- True - всегда;
· Vertical Scroll (Вертикальная прокрутка) - логический параметр, определяющий один из трех вариантов использования вертикальной полосы прокрутки;
· Drag Content (Перетаскивание содержимого) - логический параметр, определяющий возможность перемещения пользователем содержимого внутри подокна.
Редактирование компонентов. При включении в фильм экземпляра компонента в библиотеку фильма добавляется не только собственно символ данного типа, но и его
«составные части», формирующие внешний вид компонента - Component Skins (Оболочка компонента). Фрагменты каждого компонента помещаются в отдельную одноименную папку. Например, фрагменты флажка находятся в папке FCheckBox Skins.
Все фрагменты компонента доступны для редактирования. Благодаря этому можно легко изменить внешний вид любого компонента, сохранив при этом его «поведение». Например, вы можете изменить форму «птички», появляющейся при установке флажка. Для этого, в частности, необходимо:
1. В окне библиотеки фильма открыть папку FCheckBox Skins, отыскать в ней требуемый фрагмент и перетащить его на стол.
2. Перейти в режим редактирования символа (поскольку все фрагменты компонентов являются символами-клипами).
3. Изменить внешний вид или «поведение» фрагмента.
Озвучивание фильма
Озвучивание фильма не связано непосредственно с обеспечением его интерактивности, однако на практике чаще всего звуковое сопровождение делают управляемым со стороны посетителя сайта.
Flash поддерживает несколько способов подключения звукового сопровождения. Вы можете использовать либо непрерывное звуковое сопровождение, не зависящее от временной диаграммы фильма, либо синхронизировать анимацию и звуковую дорожку. Разрешается назначать звуки кнопкам, кадрам и клипам, подобно тому, как этим элементам назначаются другие действия.
Добавленные в фильм звуки помещаются в библиотеку фильма наряду с растровыми изображениями и другими символами. Вы можете также поместить звуки в общую или разделяемую библиотеку, чтобы получить возможность использовать их в нескольких фильмах.
Flash не располагает средствами создания звуков, но позволяет импортировать звуковые файлы в различных форматах (в том числе WAV и МРЗ) и затем корректировать параметры звука в соответствии с требованиями фильма.
Чтобы добавить звук к фильму, необходимо выполнить следующие действия:
1. Импортируйте в фильм один или несколько звуковых файлов. Для этого в меню File выберите команду Import, а с помощью стандартного окна Windows - требуемый файл. В результате содержимое файла будет автоматически добавлено в библиотеку фильма в качестве специального символа.
2. Добавьте во временную диаграмму фильма новый слой, который будет использоваться в качестве звукового (использование Отдельного звукового слоя облегчает тестирование и модификацию фильма). Разрешается создавать несколько звуковых слоев, и каждый из них будет работать подобно отдельному звуковому каналу. При воспроизведении фильма звуки на разных слоях, совпадающие во времени, воспроизводятся одновременно.
3. Выберите в звуковом слое кадр, с которого вы хотите начать воспроизведение звука. Если данный кадр не является ключевым, выполните для него команду Insert -> Keyframe.
4. Щелкните в ячейке первого озвучиваемого кадра и в панели инспектора свойств выберите в раскрывающемся списке Sound (Звук) требуемый звуковой символ. На панели появятся (или станут доступны) элементы управления, используемые для установки параметров звука, а также его исходные параметры: ширина полосы частот, моно/стерео, разрядность, длительность, занимаемый объем памяти.
5. Если это требуется, с помощью указанных элементов интерфейса скорректируйте параметры звука.
6. В раскрывающемся списке Sync (от Synchronization - синхронизация) выберите способ синхронизации звука:
- Event - звук синхронизируется посредством привязки его к определенным событиям фильма; звук, управляемый событием, воспроизводится с момента перехода к соответствующему ключевому кадру и продолжается независимо от временной диаграммы, даже если фильм будет остановлен (если, конечно, звук достаточно продолжителен);
- Start - вариант аналогичен предыдущему, за исключением того, что при очередном наступлении заданного события начинается воспроизведение нового экземпляра звука, даже если воспроизведение предыдущего еще не закончено;
- Stop - прекращается воспроизведение указанного звука;
- Stream - потоковый звук. Flash обеспечивает «насильственную» синхронизацию анимации и потокового звука: например, если кадры анимации не успевают воспроизводиться на Web-странице с той же скоростью, что и потоковый звук, Flash-плеер пропускает некоторые кадры; воспроизведение потокового звука всегда прекращается при завершении анимации. Кроме того, потоковый звук никогда не продолжается дольше, чем воспроизводятся связанные с ним кадры анимации.
7. Установите длительность звучания. Она определяется как число повторений звука, это число следует ввести в поле Loops (Циклы). Например, если 3- секундный звук должен быть слышен в течение 30 секунд, следует ввести в поле Loops число 10.
Непосредственно после выбора в списке Sound одного из звуковых символов его амплитудная характеристика отображается на временной диаграмме.
Обратите внимание, что изображение звука на временной диаграмме масштабируется в соответствии с установленной частотой кадров фильма. Например, при частоте кадров, равной 12, звук длительностью в 2 секунды займет 6 кадров на диаграмме.
Вы можете связывать звуки с различными состояниями символа кнопки. Поскольку звуки сохраняются вместе с символом кнопки, они будут работать для всех ее экземпляров.
Чтобы добавить звук кнопке, выполните следующие действия:
1. Выберите символ кнопки в окне библиотеки и перетащите его на стол.
2. На временной диаграмме кнопки добавьте звуковой слой.
3. В этом слое создайте ключевой кадр, соответствующий тому состоянию кнопки, которое вы хотите озвучить.
4. Щелкните правой кнопкой мыши в созданном ключевом кадре и с помощью элементов управления, имеющихся на панели инспектора свойств кадра, установите параметры звука.
Для озвучивания других состояний кнопки необходимо повторить процедуру.
Обратите внимание, что изображение звука, назначенного конкретному состоянию кнопки, на временной диаграмме занимает только тот кадр, который соответствует этому состоянию.
Задание на лабораторную работу
Для созданной в предыдущих лабораторных работах мультипликации создать интерактивное управление, такое как:
- запуск фильма по нажатию кнопки;
- остановка фильма после его завершения и возвращение фильма на начало после окончания;
- озвучить фильм.
Контрольные вопросы
1. В каких режимах может работать панель?
2. Что понимается под объектной моделью ActionScript?
3. Какие объекты относятся к классу Movie?
4. Для чего предназначены объекты класса Core?
5. Для чего предназначены объекты класса Client/Server?
6. Для чего предназначены объекты класса Authoring?
7. Что такое уровень диаграммы?