Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KA-16-Lek-P.doc
Скачиваний:
6
Добавлен:
14.09.2019
Размер:
407.04 Кб
Скачать

Включение/Выключение

Встречаются ситуации, когда определенные действия могут быть выполнены только в том случае, если чтолибо включено. Тот же пример с автомобилем: не включив зажигание, чтобы завести двигатель, вы вряд ли сможете далеко уехать. Нечто подобное может происходить и в ваших фильмах: к определенным частям скрипта можно "приделать выключатель", который будет разрешать или запрещать их выполнение.

Скрипт для-символа rocket:

onClipEvent (load) {

speed = noThrust;

}

Этот скрипт будет выполнен сразу после загрузки данного фильма-символа. Единственное предназначение скрипта – присвоить переменной speed значение noThrust. Как вы помните, скрипт, присоединенный нами к экземпляру клипа weather (это было в первом упражнении данного урока) присваивает переменным thrust и noThrust значения в зависимости от значения randomWeather. Таким образом, при выполнении данного скрипта noThrust будет иметь значение 1, 2 или 3 – и это значение будет присвоено переменной speed, которую мы вскоре используем – она будет определять начальную скорость движения ракеты.

  1. После предыдущего скрипта поместите следующий:

onClipEvent (enterFrame) {

if (launch) {

_y = _y - speed;

if (_y < _root._y) {

launch = false;

gotoAndStop ("off");

_root.status.gotoAndStop ("success");

_root.sounds.gotoAndPlay ("success");

}

}

}

Этот скрипт будет выполняться 24 раза в секунду, поскольку он помещен в обработчик события enterFrame. Первая часть скрипта гласит, что если переменная launch имеет значение true, текущую вертикальную координату ракеты следует уменьшить на значение speed. Таким образом, экземпляр будет перемещаться вверх, но только если переменная launch равна true; если же false – не произойдет ничего. Вскоре мы присоединим к кнопке Launch скрипт, который (если кнопка нажата и отпущена) будет присваивать значение true переменной launch, тем самым приводя в движение экземпляр rocket. Переменная speed, как уже было сказано, определяет скорость, с которой ракета будет подниматься.

Итак, если выполнено условие вложенного оператора if (пересечена верхняя граница сцены), выполняются четыре действия. Первое присваивает переменной launch значение false – а значит, "отключает" весь этот скрипт. Следующее действие отсылает экземпляр к кадру с меткой off – на монтажном столе фильма-символа это кадр, где ракета изображена без хвоста пламени. Следующее действие отсылает экземпляр клипа status к кадру с меткой success, в результате чего в середине экрана появляется надпись "Launch Successful". Последнее действие отсылает к метке success экземпляр фильма-символа sounds, в результате чего воспроизводится короткая звукозапись, иллюстрирующая успешный запуск.

Ни одно действие из этого скрипта не будет выполнено, пока переменная launch не получит значение true. Присваивать ей такое значение будет кнопка Launch.

  1. Скрипт кнопки Launch:

on (release) {

rocket.launch = true;

rocket.gotoAndStop ("on");

sounds.gotoAndPlay ("launch");

}

Когда эта кнопка будет отпущена после нажатия, ActionScript выполнит три действия. Во-первых, переменной launch, находящейся на монтажном столе экземпляра клипа rocket, будет присвоено значение true (что приведет ракету в движение – об этом мы говорили на предыдущем шаге). Во-вторых, экземпляр rocket будет отослан к кадру с меткой on, где ракета изображена с хвостом пламени. В-третьих, экземпляр sounds будет отослан к кадру с меткой launch, где содержится звукозапись, иллюстрирующая работу ракетного двигателя.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]