Обработка нажатий клавиш с помощью перехватчика

Второй способ обработать нажатия клавиш - использовать перехватчик. Этот перехватчик должен иметь свойства опкеуир и onKeyDown, которым должны быть присвоены функции, обрабатывающие соответствующие события. Событие onKeyDown возникает при нажатии клавиши, а событие опкеуир - при ее отпускании.

Давайте перепишем созданный ранее сценарий так, чтобы он использовал обработчик. В данном случае он будет привязан не к клипу, а к первому кадру анимации фильма.

Рассмотрим этот сценарий по частям.

Сначала:

var d = 1; Это уже знакомая нам переменная, задающая величину смещения клипа за один шаг.

А дальше:

function fOnKeyDown() { switch (Key.getCode()) { case Key.UP :

_root.circle._y -= d; break; case Key.DOWN :

_root.circle._y += d; break; case Key.LEFT :

_root.circle._x -= d; break; case Key.RIGHT :

_root.circle._x += d; break;

}

}

А это объявление функции, обрабатывающей событие onKeyDown. Ее код практически совпадает с кодом обработчика события keyDown для клипа, написанного нами ранее.

И, наконец:

var myListener = new Object(); myListener.onKeyDown = fOnKeyDown;

Key.addListener(myListener); Этот фрагмент кода создает и привязывает к объекту Key перехватчик. Собственно, это тоже нам знакомо.

Взаимодействие с мышью

Для взаимодействия с мышью служит объект Mouse. Единственный экземпляр этого объекта под именем Mouse создается самим Flash.

Прежде всего, этот объект предоставляет методы hide и show. Первый метод скрывает курсор мыши, а второй - вновь выводит его на экран. Ни один из них не принимает параметров. Эти методы используются, как правило, при создании фигурных курсоров мыши.

Объект Mouse поддерживает также три события:

□    событие onMouseDown возникает при нажатии левой кнопки мыши;

□    событие onMouseUp возникает при отпускании левой кнопки мыши;

□    событие onMouseMove возникает при любом перемещении мыши;

□    событие onMouseWheei возникает при прокрутке колесика мыши, если такое имеется.

Для обработки этих событий используются перехватчики. Все функции, обрабатывающие их, не принимают параметров, за исключением функции-обработчика события onMouseWheei. Она имеет такой формат:

function <Имя>([<Смещение>, <Клип, над которым находится курсор мыши>])

Первый из необязательных параметров этой функции определяет смещение, на которое пользователь прокрутил колесико мыши. Оно передается в числовом виде в так называемых "тиках". Второй параметр передает ссылку на клип, над которым находился курсор мыши во время прокрутки ее колесика.

Для отслеживания координат мыши можно использовать свойства _xmouse и _ymouse объекта moviedip. Этот "нужный экземпляр" может быть как внешней анимацией (_root), так и каким-либо вложенным клипом. Эти же свойства поддерживаются и объектом Button.

Управление звуковым сопровождением фильма

Для управления звуковым сопровождением фильма служат экземпляры объекта sound. (О работе со звуком во Flash см. главу 17.) Эти экземпляры создаются с помощью выражений, имеющих следующий формат:


⇐ вернуться назад | | далее ⇒