Для осуществления перехода на какой-либо кадр клипа служат методы gotoAndPlay
и gotoAndstop. Первый выполняет переход на заданный кадр и начинает воспроизведение клипа с него. Второй же метод выполняет переход на заданный кадр, но воспроизведение не инициирует. В качестве единственного параметра оба этих метода принимают номер или имя кадра; причем если значение этого параметра имеет числовой тип, то оно трактуется как номер кадра, если строковый — то как его имя. Пример с использованием числового параметра:car.gotoAndPlay(10);
Для управления текущим клипом можно пользоваться также действиями gotoAndPlay
и gotoAndstop объекта movieClip.Формат записи их вызова таков:
gotoAndPiay|gotoAndStop([<Имя сцены>,]<Номер или имя кадра
>);Здесь второй параметр задает, опять же, номер или имя кадра, на который будет выполнен переход. Первый же, необязательный, параметр задает имя сцены, содержащей этот кадр; если же параметр пропущен, то выполняется переход на кадр текущей сцены. Например:
gotoAndPiay(10);
gotoAndStop("Эпизод 1", х + 1);
Осталось упомянуть еще о двух методах объекта movieClip
. Метод prevFrame перемещает бегунок на предыдущий кадр клипа, а метод next Frame — на следующий. Ни один из этих методов не принимает параметров.Методы prevFrame
и next Frame можно использовать, например, для создания средствами Flash презентации или слайд-шоу. Делается это так. Все изображения (слайды), которые должны войти в презентацию, помещают в отдельных кадрах фильма. К первому кадру фильма привязывается сценарий, содержащий одно-единственное выражение — stop (), которое остановит фильм на первом же кадре. После этого остается создать кнопки и привязать к ним сценарии, содержащие выражения this.prevFrame () и this.nextFrame (), которые будут выполнять переход соответственно на предыдущий и последующий кадр фильма, — и простейшее слайд-шоу готово!Обработка событий, возникающих в клипах
Обработчики событий клипов имеют такой формат:
onClipEvent(<Событие>)
{<Тело обработчика>
}
Собственно, нам он уже знаком из главы 18.
Вот пример такого обработчика:onClipEvent(mouseDown) {
this.stop();
}
Этот обработчик выполняется в ответ на щелчок мышью на клипе и останавливает воспроизведение вложенной в него анимации. Его код должен быть привязан к самому клипу.
Внимание!
При написании обработчиков событий клипов крайне желательно использование модификатора this
, возвращающего ссылку на текущий клип.Можно создать обработчик, выполняющийся в ответ сразу на несколько событий, перечислив их имена через запятую. Вот так:
onClipEvent(mouseDown, mouseMove) {
stop();
}
Этот обработчик выполнится либо после щелчка мышью на клипе (событие mouseDown
), либо после перемещения над клипом курсора мыши (событие mouseMove).Теперь самое время выяснить, какие события поддерживаются объектом movieClip
. Некоторые из них приведены в табл. 19.10; полный же список событий можно найти в интерактивной справке Flash.Событие enter Frame
возникает при воспроизведении очередного кадра анимации клипа. Это значит, что обработчик данного события будет выполняться постоянно с частотой, равной частоте кадров фильма, до тех пор, пока фильм не закончится. Это можно использовать для выполнения различных задач, например, для отслеживания курсора мыши.События load
и unload можно использовать для запуска или останова воспроизведения других клипов. Например, при загрузке какого-либо клипа воспроизведение другого клипа может приостанавливаться, а после выгрузки — продолжаться. Также можно написать сценарий, загружающий после выгрузки одного клипа другой и запускающий его на воспроизведение.События mouseDown
и mouseUp можно, по идее, использовать для создания на рабочем листе подобия кнопок. Но для таких целей лучше использовать полноценные кнопки Flash, создание которых было описано в главе 18.Интересная особенность клипов Flash состоит в том, что они могут обрабатывать события кнопки. Для этого достаточно привязать к клипу "кнопочный" обработчик события, код которого показан ниже:
on (press) {
stop();
}
И клип будет вести себя как кнопка.
Полный список событий, поддерживаемых кнопками Flash, будет приведен далее в этой главе.
Управление клипами
А теперь рассмотрим средства, предоставляемые Flash для управления клипами, находящимися на рабочем листе.
Создание новых клипов