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;

}

}

Но, несмотря на кажущуюся сложность, этот обработчик события keyDown довольно-таки прост. Он сравнивает значение виртуального кода нажатой клавиши с кодами клавиш- стрелок и, если одна из них нажата, изменяет соответствующую координату клипа circle.

Теперь запустим созданный фильм на воспроизведение в отдельном окне. Он работает!

Конечно, наш пример очень прост. Тем не менее, руководствуясь им, можно создавать и несравнимо более сложные вещи. Например — как насчет игры '15', реализованной на Flash? Или всем известного 'Сапера'?

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

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

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

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

Сначала:

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 возникает при любом перемещении мыши;

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

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

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

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

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

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

1

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату
×