Лабораторный практикум по дисциплине «Мультимедиа технологии». Для студентов, обучающихся по направлениям подготовки 09.03.02 «Информационные системы
.pdfЭти команды реализуются с помощью предопределенных действий Play и Stop. В качестве кнопок используем экземпляры символов общей библиотеки
Buttons. Для включения в фильм интерактивных кнопок необходимо выполнить следующие действия:
1.добавьте в фильм новый слой, который будет использоваться в качестве дополнительного фона. Именно в фоновый слой следует добавить кнопки, чтобы они присутствовали на сцене на всем протяжении фильма;
2.щелкните мышью в ячейке первого ключевого кадра в «кнопочном»
слое;
3. перетащите поочередно из окна библиотеки на стол две кнопки,
которые вы решили использовать в фильме;
4.выберите первую из кнопок, с помощью которой фильм должен приостанавливаться;
5.с помощью инспектора свойств кнопки откройте панель Actions и
щелкните в списке Actions Toolbox на значке раздела Actions;
6.откройте подраздел Movie Control, отыщите в нем действие Stop и
дважды щелкните на нем мышью. В результате в окне сценария появится текст сценария, содержащий обработчик onfrelease. Он обеспечивает инициализацию действия stop() при наступлении события release. Пустые скобки после имени процедуры означают, что данная процедура используется без параметров, соответствующее сообщение выводится и в окне параметров;
7.не закрывая панель Actions, выберите на столе вторую кнопку и назначьте ей действие play, повторив описанную выше процедуру.
В отличие от обычной анимации, протестировать многие сценарии в режиме редактирования невозможно. Чтобы проверить, как работают созданные кнопки, следует выбрать в меню Control команду Test Movie или
Test Scene. В результате фильм будет экспортирован в формат SWF и затем воспроизведен с помощью Flash-плеера. Чтобы вернуться в режим редактирования, достаточно просто закрыть окно плеера.
91
Переход по заданному URL. Действие getURL входит в подраздел
Browser/Network. Это действие позволяет загрузить в браузер документ,
расположенный по указанному URL, либо переслать значения некоторых переменных (например, данных из формы) в приложение, размещенное по определенному URL. При этом следует учитывать, что действие getURL
обеспечивает пересылку данных только для текущего фильма.
Чтобы создать кнопку, обеспечивающую переход по заданному URL,
требуется выполнить следующие действия:
1.добавьте в фильм новый «фоновый» слой;
2.поместите на него кнопку, которой будет назначено действие
getURL;
3.откройте панель Actions;
4.в списке Actions Toolbox откройте раздел Actions, затем – подраздел
Browser/Network и дважды щелкните в строке getUR. В результате в окне сценария появится соответствующая конструкция на языке Action Script, а в панели параметров – параметры действия getURL;
5. введите требуемые значения параметров.
По умолчанию действие getURL выполняется по щелчку на кнопке
«событие» (release); если требуется добавить или изменить событие,
щелкните в окне сценария в строке селектора и с помощью панели параметров измените перечень событий.
Рассмотрим подробнее параметры действия getURL. Параметр URL
определяет адрес запрашиваемого документа. Значение параметра может быть задано в виде абсолютного или относительного URL, либо в виде вычисляемого выражения. При указании относительного URL для поиска требуемого документа Flash перемещается по иерархии файлы/папки/каталоги и обратно, начиная с того файла, в котором содержится процедура getURL. Чтобы получить URL как результат вычисления некоторого выражения, установите флажок Expression,
расположенный справа от поля URL, и введите требуемое выражение.
92
Параметр Window задает окно или фрейм, в который должен быть
загружен запрошенный документ. Значение параметра выбирается с помощью раскрывающегося списка, который содержит следующие
варианты:
_self – документ будет загружен в текущее окно, или фрейм;
_ blank – документ будет загружен в новое окно;
_parent – документ будет загружен в родительский или текущий
фрейм;
_top – документ будет загружен во фрейм более высокого уровня иерархии или в текущее окно.
При необходимости значение данного параметра может быть получено как результат вычисления выражения. В этом случае следует установить флажок Expression, расположенный справа от списка Window.
Параметр Variables позволяет указать способ пересылки данных по заданному URL. Значение параметра выбирается из раскрывающегося списка, который содержит три варианта:
Don't send (He отправлять) – пересылка данных не требуется;
Send using GET (Отправить, используя GET) – для пересылки данных будет использован метод GET;
Send using POST (Отправить, используя POST) – для пересылки данных будет использован метод POST.
Загрузка дополнительных фильмов. С помощью действий loadMovie
и unloadMovie можно обеспечить динамическую загрузку дополнительных фильмов или их выгрузку без повторной инициализации Flash-плеера. Такая технология обеспечивает эффективное решение следующих задач: загрузка больших фильмов. Фильм может быть разбит на несколько частей, в конце каждой из которых помещается команда загрузки следующей части (в
результате посетитель сайта получает возможность просматривать очередную «серию», не дожидаясь, пока загрузится весь фильм). В
результате данного свойства возможно построение многоуровневого
93
интерфейса, в котором пользователь может переходить от одного SWF-файла к другому.
Чтобы создать кнопку, обеспечивающую загрузку дополнительных фильмов, требуется выполнить следующие действия:
1.добавьте новый фоновый слой;
2.поместите на него кнопку, которой будет назначено действие
loadMovie;
3.откройте панель Actions;
4.в списке Actions Toolbox откройте раздел Actions, затем – подраздел
Browser/Network и дважды щелкните в строке loadMovie; в результате в окне сценария появится соответствующая конструкция на языке ActionScript, а в панели параметров – параметры действия loadMovie;
5.введите требуемые значения параметров;
6.по умолчанию действие loadMovie выполняется по щелчку на кнопке (событие release). Если требуется добавить или изменить событие,
щелкните в окне сценария в строке обработчика и с помощью панели параметров измените перечень событий.
Рассмотрим подробнее параметры действия loadMovie. Параметр
URL определяет адрес загружаемого фильма (SWF-файла). Значение параметра может быть задано в виде абсолютного или относительного URL,
либо в виде вычисляемого выражения. Параметр Location (Расположение)
определяет место загружаемого фильма или клипа в иерархии. Для фильма его положение определяется относительным уровнем (Level), для клипа – положением клипа-предшественника (Target), который он должен заместить.
Относительный уровень фильма – это целое положительное число от
0 и до... Верхний уровень ограничен только объемом оперативной памяти компьютера.
Фильм, загруженный первым, помещается на самый нижний уровень,
который имеет номер 0. Фильм нулевого уровня задает для всех последующих фильмов частоту смены кадров, цвет фона и размер кадра.
94
Чтобы загрузить новый фильм в дополнение к загруженным ранее, следует указать для него номер уровня, который не занят другим фильмом. Чтобы заменить загруженный фильм другим, укажите для загружаемого фильма тот же номер уровня. Загрузка нового фильма на уровень 0 приводит не только к замене прежнего фильма этого уровня, но и к выгрузке фильмов всех других уровней.
Параметр Variables имеет тот же смысл, что и для действия getURL.
Применение действия loadMovie проиллюстрируем небольшим примером. Пусть первым загружаемым фильмом (расположенным на нулевом уровне) будет фильм, содержащий только кнопку, которой назначено действие loadMovie. Для решения указанной задачи необходимо:
1.экспортировать фильм в формат SWF и сохранить (например, под именем Interact.swf) в той же папке, что и фильм нулевого уровня;
2.для действия loadMovie установить следующие параметры:
-URL = Interact.swf;
-Location: Level=l Variable = Don't send;
3.после загрузки фильма нулевого уровня в режиме Test Movie и
щелчка на кнопке «Продолжение просмотра». При этом все кнопки
сохраняют свою интерактивность.
Чтобы выгрузить фильм из Flash-плеера, необходимо назначить какой-либо кнопке или кадру фильма действие unloadMovie. Для него должен быть установлен единственный параметр – Location, определяющий уровень фильма (Level), который следует выгрузить.
6.1.6 Создание сценария для кадра
Связав сценарий с некоторым ключевым кадром фильма, можно обеспечить автоматическую инициализацию тех или иных действий при достижении считывающей головкой этого кадра. Как правило, все кадры,
которым назначены действия, стараются поместить в отдельном слое
95
временной диаграммы. Это облегчает тестирование и редактирование фильма. Чтобы связать с кадром некоторый сценарий, необходимо:
1. щелкнуть правой кнопкой мыши в ячейке кадра и в контекстном меню выбрать команду Actions (если выбранный кадр не является ключевым,
то действие будет назначено предшествующему ключевому кадру); |
|
|||
2. в списке |
Actions |
Toolbox открыть раздел |
Actions, а |
в нем – |
требуемый подраздел; |
|
|
|
|
3. дважды |
щелкнуть |
мышкой на действии, |
которое |
требуется |
назначить кадру. При этом в окно сценария будет помещена соответствующая конструкция на языке Action Script.
Надо иметь в виду, что действия, назначенные кадру, в режиме редактирования не работают. Чтобы протестировать фильм, необходимо в меню Control выбрать команду Test Movie (или Test Scene). В качестве примера рассмотрим назначение кадру действия goto, входящего в подраздел
Movie Control. Результатом его выполнения является переход к заданному кадру или сцене. Переход к одному из предыдущих кадров фильма обеспечивает циклическое повторное воспроизведение соответствующего фрагмента фильма.
Для обоих вариантов перехода предусмотрены следующие параметры:
Scene (Сцена) – задает сцену, на которую требуется перейти или на которой расположен кадр, к которому требуется перейти. Значение параметра выбирается с помощью раскрывающегося списка, который содержит четыре основных пункта:
1.<current scene> – текущая сцена;
2.<next scene> – следующая сцена (переход возможен только на первый кадр следующей сцены);
3.<previous scene> – предыдущая сцена (переход возможен только на первый кадр предыдущей сцены);
96
4.Scene 1 – имя, используемое по умолчанию для первой сцены фильма. Если фильм содержит более одной сцены, то в список автоматически добавляются их имена;
Туре (Тип) – задает способ указания кадра, на который требуется перейти. Значение параметра выбирается с помощью раскрывающегося списка, который содержит пять пунктов:
1.Frame Number (Номер кадра) – кадр задается его порядковым номером на временной диаграмме. Номер кадра должен быть указан в расположенном ниже поле Frame;
2.Frame Label (Метка кадра) – кадр задается его меткой (именем);
метка для кадра должна быть предварительно указана в поле Label панели
инспектора свойств;
3.Expression (Выражение) – номер или метка кадра определяются как результат вычисления выражения; выражение должно быть введено в
расположенном ниже поле Frame;
4.Next Frame (Следующий кадр) – переход выполняется на следующий кадр той же сцены;
5.Previous Frame (Предыдущий кадр) – переход выполняется на предыдущий кадр той же сцены.
Пара переключателей Go to and Play (Перейти и воспроизвести) и Go to and Stop (Перейти и остановить) определяет операцию, выполняемую после перехода на заданную сцену или кадр, где после перехода воспроизведение фильма либо продолжается (возобновляется), либо приостанавливается.
6.1.7 Создание сценария для клипа
Как было отмечено в начале данной главы, клип, как и кнопка, может
«реагировать» на те или иные события. Поэтому в большинстве случаев
97
основу сценария для клипа составляет перечень обработчиков, описывающих реакцию клипа на те или иные события.
Чтобы связать с клипом сценарий, необходимо:
1.щелкнуть правой кнопкой на клипе, которому вы хотите назначить действие;
2.в контекстном меню выбрать команду Actions;
3.в разделе Actions выбрать требуемое действие и перенести его в окно сценария;
4.в поле параметров ввести требуемые значения;
5.в окне сценария щелкнуть на строке с обработчиком onClipEvent.
При этом в поле параметров появится перечень допустимых типов событий,
которые могут инициализировать действие;
6. выберите тип события, при наступлении которого введенные данные должны быть переданы на сервер. Обратите внимание, что в отличие от кнопок для клипа может быть выбран только один из типов событий.
Перечень типов событий также отличается от предусмотренного для кнопок:
load – действие инициализируется как только экземпляр клипа появляется на столе;
unload – действие инициализируется при переходе к первому кадру после выгрузки клипа;
enterFrame – действие инициализируется при переходе к каждому очередному кадру;
mouseMove – действие инициализируется при каждом перемещении
мыши;
mouseDown – действие инициализируется при нажатии левой кнопки
мыши;
mouseUp – действие инициализируется, когда левая кнопка мыши освобождается;
keyDown – действие инициализируется при нажатии заданной клавиши на клавиатуре;
98
keyUp – действие инициализируется, когда нажатая клавиша освобождается;
data – действие инициализируется, когда закончена загрузка данных
ссервера.
6.1.8Компоненты Flash
Всостав Flash включены семь типов компонентов:
CheckBox – флажок;
ComboBox – комбинированный список;
ListBox – список;
PushButton – кнопка;
RadioButton – переключатель;
ScrollBar – полоса прокрутки;
ScrollPane – окно.
С точки зрения программирования, на ActionScript компоненты представляют собой как бы подкласс объектов MovieClip, для которого предусмотрены специальные параметры и некоторые дополнительные методы. Параметры компонентов могут устанавливаться как во время разработки фильма, так и во время его воспроизведения, с помощью сценария. Методы, применимые к компонентам, собраны в специальном разделе списка Action Toolbox, который называется Flash UI Components.
Наиболее распространенный вариант применения компонентов – это создание на их основе аналога формы, помещаемой на Web-странице. Вместе с тем, на основе компонентов можно создать для своего Flash-фильма
«традиционный» для Windows-приложений пользовательский интерфейс. В
этом случае работа пользователя с фильмом будет мало чем отличаться от работы с обычным приложением. При использовании компонентов в качестве элементов формы Flash обеспечивает:
пересылку введенных в форму данных на сервер по заданному
адресу;
99
обработку введенных данных на клиентской машине средствами языка ActionScript.
Вставку компонентов в фильм удобнее всего выполнять с помощью специальной панели, которая так и называется – Components. Для установки исходных параметров экземпляра компонента, включенного в фильм,
целесообразно воспользоваться инспектором свойств. Его формат для компонентов несколько отличается от используемого для других элементов фильма. Основное отличие состоит в том, что панель инспектора свойств компонента имеет две вкладки:
Properties (Свойства), с помощью которой устанавливаются свойства компонента. Эта вкладка одинакова для всех компонентов;
Parameters (Параметры), предназначенная для установки параметров компонента как элемента пользовательского интерфейса.
Для каждого типа компонента набор параметров различен. Ниже
рассмотрены особенности применения в фильме компонентов различных
типов.
Флажки. Для флажка (Checkbox) могут быть заданы следующие
параметры:
Label – текстовая метка, отображаемая на странице в качестве имени флажка, чтобы изменить метку, следует дважды щелкнуть на ней мышью и отредактировать;
Initial Value – исходное состояние флажка; параметр принимает значение true (или 1) – если флажок установлен, и false (0) – если снят, для установки требуемого значения, следует щелкнуть в строке параметра и выбрать его в появившемся списке;
Label Placement (Расположение текстовой метки) – определяет положение текстовой метки относительно изображения флажка;
Change Handler (Изменить обработчик) – имя функции,
вызываемой при изменении состояния флажка. Вызываемая функция должна
быть определена в сценарии, связанном с той же временной диаграммой, к
100
