В подклассе Movie Controlкласса Actionsесть процедура, которая доступна для кнопок и видеоклипов, но не для кадров. Эта процедура – on – называется регулировщиком событий, так как она реагирует на события, и использует введенную информацию для выбора фрагмента программного кода ActionScript и места, в котором он будет запускаться.
Регулировщик события должен присутствовать в начале каждого скрипта ActionScript, присоединенного к кнопкам или видеоклипам. В режиме Normalкаждый раз, когда вы выбираете процедуру на панели Actions Toolbox, Flash проверяет, присутствует ли регулировщик событий на панели Script. Если его нет, Flash встраивает процедуру в регулировщик, установленный по умолчанию. Регулировщики, установленные по умолчанию для кнопок и видеоклипов, отличаются друг от друга.
on – регулировщик по умолчанию для кнопок.
onClipEvent – регулировщик по умолчанию для видеоклипов.
Если в области Stageвы выделили кнопку, а на панели Actions Toolboxвыбрали и ввели процедуру, то по умолчанию Flash добавит на панель Scriptрегулировщик события on. Если же в области Stageвыделен видеоклип, то будет добавлен регулировщик onClipEvent.
Процедуры onи onClipEventобозначают запуск регулировщика. Чтобы видеоклип вел себя как кнопка, в нем можно использовать регулировщик событий on.
То, что следует в скобках за регулировщиком, например (release) или (load), обозначает событие, при котором регулировщик запустит скрипт. Такими событиями могут быть, например, момент освобождения кнопки или момент возобновления на экране фильма.
ПРИМЕР 10.6: Выбор событий, управляемых мышью
1.Откройте копию шаблона, созданного в примере 10.4. Для этого выберите пункты File→New Form Template. В списке Category выберите созданную вами категорию. В списке Category Items выберите имя созданного ранее шаблона. Нажмите кнопку Create.
2.В области Stageвыделите кнопку.
3.Откройте панель Actions.В строке заголовка отображается тип выделенного объекта Actions-Button.К данному типу создаваемый вами скрипт и будет прикреплен.
4.В окне Actions Toolboxвыберите процедуру Actions→Movie Control→on и дважды щелкните по ней. Flash добавит на панель Scriptрегулировщик события on(release) и пару фигурных скобок. Отобразятся параметры, управляющие событиями, запускаемые мышью. Эти параметры определяют конкретное событие, которое запустит любые процедуры, добавленные вами в фигурные скобки регулировщика.
5.В разделе Event в области параметров уберите флажок Release.
6.Поставьте флажок Roll Out. Flash обновит панель Script, добавив в скобки событие rollOut, которое означает уход указателя мыши из области кнопки. Чтобы установить еще одно событие – щелчок мышью внутри области кнопки, в области Eventпоставьте флажок Press.
7.В области Scriptвыделите строку с регулировщиком событий и в окне Actions Toolboxвыберите процедуру Actions→Movie Control→goto и дважды щелкните по ней.
8.В области параметров в меню Type выберите пункт NextFrame. Flash добавит на панель Scriptв фигурные скобки процедуру nextFrame();. Переключатели Go To and Play и Go To and Stop должны быть неактивны. Процедура nextFrame() обеспечивает переход к следующему кадру и остановку фильма.
9. Выберите пункты Control→Test Movie. Flash экспортирует фильм и откроет его в Flash Player. Кнопка активизируется, когда пользователь проведет указателем над областью кнопки, а затем выведет его из этой области. Фильм перейдет в кадр 2. Flash также реагирует на щелчок внутри области кнопки и переходит к кадру 2.
События управления мышью, которые может определять для запуска процедур регулировщик событий on:
Press – событие происходит в тот момент нажатия кнопки, когда она движется вниз, а указатель находится внутри активной области кнопки.
Release – событие происходит в тот момент нажатия кнопки, когда она движется в верх, а указатель находится внутри активной области кнопки. Это стандартный режим работы кнопок в компьютерных программах.
Release Outside – событие происходит, когда пользователь нажимает кнопку мыши внутри области кнопки и выводит указатель из активной области кнопки прежде, чем отпускает кнопку мыши.
Key Press – событие происходит каждый раз, когда пользователь нажимает на определенную клавишу клавиатуры при наличии кнопки Fash. В этом случае, чтобы событие запустило процедуру, не нужно для взаимодействия с кнопкой использовать мышь (горячие клавиши).
Roll Over – событие выполняется каждый раз, когда указатель заходит в активную область кнопки, но кнопка мыши не нажата.
Roll Out – событие происходит каждый раз, когда указатель покидает активную область кнопки, а кнопка мыши не нажата.
Drag Over – это событие происходит, когда пользователь нажимает кнопку мыши в активной области кнопки и, удерживая кнопку мыши, выводит указатель из активной области, а затем перемещает его обратно.
Drag Out – событие происходит, когда пользователь нажимает кнопку мыши в активной области кнопки, а затем выводит указатель из этой области.