Связав сценарий с некоторым ключевым
кадром фильма, можно обеспечить автоматическую инициализацию
тех или иных действий при достижении этого кадра.
Как правило, все кадры, которым назначены
действия, стараются поместить в отдельном слое. Это
облегчает тестирование и редактирование фильма.
Чтобы связать с кадром некоторый сценарий,
необходимо:
Щелкнуть правой кнопкой мыши в ячейке кадра и в
контекстном меню выбрать команду Actions(если
выбранный кадр не является ключевым, то действие
будет назначено предшествующему ключевому кадру) или
в нижней части экрана активировать одноименную панель
.
В списке Actions открыть раздел Global
Functions и требуемый подраздел Timeline
Control.
Дважды щелкнуть мышкой на действии, которое вы
хотите назначить кадру; при этом в окно сценария
будет помещена соответствующая конструкция на языке
ActionScript.
Имейте в виду, что действия, назначенные
кадру, в режиме редактирования не работают. Чтобы протестировать
фильм, необходимо в меню Control выбрать команду Test
Movie (или Test Scene).
В качестве примера рассмотрим назначение
кадру действия goto, входящего в подраздел Movie
Control или Timeline Control .
Результатом его выполнения является переход к заданному
кадру или сцене. Переход к одному из предыдущих кадров
фильма обеспечивает циклическое повторное воспроизведение
соответствующего фрагмента фильма.
На
самом деле действия goto как такового не существует,
в ActionScript используются два действия, реализующие
два варианта перехода на требуемый кадр или сцену:
gotoAndPlay (Перейти и воспроизвести) и gotoAndStop
(Перейти и остановить).
Для обоих вариантов перехода предусмотрены
следующие параметры:
Scene (Сцена)
- задает сцену, на которую требуется перейти, или
на которой расположен кадр, на который требуется
перейти; значение параметра выбирается с помощью
раскрывающегося списка, который содержит четыре
основных пункта:
<current scene> — текущая сцена;
<next scene> — следующая сцена; переход
возможен только на первый кадр следующей
сцены;
<previous scene> - предыдущая сцена;
переход возможен только на первый кадр предыдущей
сцены;
Scene 1 — имя, используемое по умолчанию
для первой сцены фильма; если фильм содержит
более одной сцены, то в список автоматически
добавляются их имена;
Туре (Тип) — задает способ указания
кадра, на который требуется перейти; значение параметра
выбирается с помощью раскрывающегося списка, который
содержит пять пунктов:
Frame Number (Номер кадра) — кадр задается
его порядковым номером на временной диаграмме;
номер кадра должен быть указан в расположенном
ниже поле Frame;
Frame Label (Метка кадра) — кадр задается
его меткой (именем); метка для кадра
должна быть предварительно указана в
поле Label панели инспектора свойств;
Expression (Выражение) - номер или
метка кадра определяются как результат
вычисления выражения; выражение должно
быть введено в расположенном ниже поле
Frame;
Next Frame (Следующий кадр) - переход
выполняется на следующий кадр той же
сцены;
Previous Frame (Предыдущий кадр) —
переход выполняется на предыдущий кадр
той же сцены.
Пара переключателей gotoAndPlay (Перейти
и воспроизвести) и gotoAndStop (Перейти и остановить)
определяет операцию, выполняемую после перехода на
заданную сцену или кадр: после перехода воспроизведение
фильма либо продолжается (возобновляется), либо приостанавливается.
Основная команда, которая используется
чаще всего - Stop. Для остановки всего
фильма, чтобы передать управление пользователю.
Комментарии
и метки кадров
Вы учились работать со слоями, я рассказала, как изменять
их имена. Задание слою индивидуального имени очень
помогает при работе, особенно если слоев очень много.
Но имя может быть не только у слоя, но и у кадра, только
называется оно - меткой. Кроме того,
у кадра может быть и комментарий.
Метки и комментарии тоже помогают при работе с проектом.
Но если имена слоев необходимы создателю фильма для
более простой ориентации между ними то, комментарии
кадров помогают разобраться при сложном сценарии, а
метки просто незаменимая вещь, когда Вы применяете ActionScript.
Давайте научимся создавать метки и комментарии, а затем
применять еще одно действие языка скриптов.
Что же такое комментарии и метки кадров:
Комментарии - описывают назначение
ключевого кадра или фрагмента сценария, для лучшего
понимания последующего действия. Необходимы, главным
образом, для автора.
Метки - предназначены для удобства
программирования и служат своеобразными точками вызова,
т.е. идентификаторами кадра.
Поясню
на примере: если, создавая свой фильм, Вы задали для
одной из кнопок, или действию на ввод информации пользователем,
переход на какой-то кадр, например 162, а затем отредактировали
предыдущие кадры таким образом, что данное действие
передвинулось, например на 173-й кадр, то Вам придется
искать все места в скрипте где упоминался 162-й кадр.
Программисты знают, что самый простой выход в данном
случае - использование имени функции или подпрограммы.
Метка, как раз и является своеобразным именем подпрограммы.
Если в скрипте будет фигурировать имя метки, то где
бы ни был кадр с данной меткой, Flash передаст управление
именно на него.
Откройте любой ранее созданный проект.
На любом ключевом кадре щелкните левой кнопкой
мыши.
Посмотрите на окно Properties поле
ввода Frame (Фрейм).
В поле <Fame Label> (Ярлык)
введите имя метки.
И если справа от кадра будет достаточно свободного
места, то вы увидите имя метки кадра после красного
флажка. Хочу обратить Ваше внимание, на тот факт, что
метки компилируются в рабочий файл. Поэтому, давайте
меткам имена покороче, лучше из одного слова и на
английском языке.
Задание
А теперь, как обычно, закрепим знания на практике.
Создайте новый ролик.
Нарисуйте кубик.
Вставьте пустой фрейм (например, 10) Insert
/ Blank Keyframe [F7].
Нарисуйте круг, закрасив его круговой градиентной
заливкой придав ему форму шара.
Вставьте пустой фрейм (например, 20).
На ключевом кадре с кубом задайте метку "kub".
Задайте таким же образом ключевому кадру с изображением
шара, метку - "shar".
Вставьте новый слой щелкните на кнопке нового слоя,
под списком слоев на Timeline.
Подготовим к работе символ кнопки.
Перенесите на сцену Вашу кнопку два раза, создав
тем самым два ее экземпляра.
На одной кнопке напишите - кубик.
На второй - шар.
Теперь назначим управление для кнопок.
Щелкните правой кнопкой мыши по кнопке с надписью "Шар".
Вызовите панель Action, откроем
ее.
Откроем список действий.
Выбираем команду goto (перейти
к…).
Появится следующий скрипт:
on (release) {
gotoAndPlay (1);
}
В верхней части, как всегда, дополнительные настроечные
параметры:
В выпадающем меню Scene, можно выбрать
сцену перехода - текущую, предыдущую, следующую или
сцену с собственным именем (о сценах в следующих темах).
Кроме сцены мы можем задать переход по:
Frame - кадру, в поле Number -
введите номер кадра.
Label - метке, в выпадающем меню
будет список установленных Вами меток.
Next Frame - следующему кадру.
Previous Frame - предыдущему кадру
И еще одна галочка Control (Переход
и воспроизведение), которая меняет команду с "Go
to and Stop" на "Go to and Play".
Установите переход по метке "shar".
Задайте реагирование на нажатие мыши и клавиши "S".
Окончательный вид скрипта:
on (release, keyPress "S") {
gotoAndStop (shar);
}
Для второй кнопки создайте аналогичным образом переход
на метку "Куб" и реагирование на нажатие мыши и клавиши "С".
Запустите Ваш фильм. Он начал сразу проигрываться.
Задайте команду stop на ключевых кадрах. В предыдущей
главе было описано как это сделать.
Если все сделано правильно, то Вы увидите
сменяющие друг друга фигуры шара и куба. При нажатии
на одну из кнопок, на экране появится именно та фигура,
на которую ведет управление с кнопки, нажатие на другую
кнопку покажет другую фигуру.
Вы можете теперь реализовать вот такой пример (используя
переход на следующий, предыдущий кадр, метки ...) знаний
вам вполне хватит.