ActionScript краткий обзор

       

Перехват нажатий клавиш


Можно использовать методы предопределенного объекта Key для определения последней клавиши, которая была нажата пользователем. Чтобы использовать его методы, просто вызывайте объект, как сделано в следующем примере:

Key.getCode();

Можно получать любые десятичные (Dec) 1 коды или ASCII-значения нажатых клавиш:

Перехват нажатий клавиш
Для получения Dec-кода последней нажатой клавиши, используется getCode метод.
Перехват нажатий клавиш
Для получения ASCII-значения последней нажатой клавиши, используется getAscii метод.

Dec-код имеется у каждой физической клавиши на клавиатуре. Например, клавиша стрелки "влево" имеет Dec# 37. Используя Dec-код, можно гарантировать, что средства управления клипа будут одинаковыми на любой клавиатуре, независимо от языка или платформы.

ASCII (American Standard Code for Information Interchange) значения связаны с первыми 127 символами каждой кодовой таблицы. Они обеспечивают информацию о символе на экране. Например, символ "A" и символ "a" имеют различные значения ASCII.

Общее место для использования Key.getCode в параметрах onClipEvent. При прохождении через keyDown как параметр, скрипт получает команду проверить значение последней нажатой клавиши (фактически, нажатой в данный момент). В этом примере использовано Key.getCode для управления перемещением НЛО. Нажимайте на курсорные клавиши для передвижения НЛО внутри клипа.

Для создания управления клипом с клавиатуры:

1 Решите какие клавиши использовать и определите их Dec-коды, используя один из следующих подходов:
Перехват нажатий клавиш
См. список клавишных кодов на Клавиши клавиатуры и их кодовые значения: Краткий обзор.
Перехват нажатий клавиш
Используйте константу объекта Key. (В списке инструментов, выбрать Objects (объекты), затем выбрать Key (клавиша). Константы перечислены заглавными буквами.)
Перехват нажатий клавиш
Назначить следующее команды, затем выбрать Control > Test Movie и нажать нужную клавишу:
onClipEvent(keyDown) { trace(Key.getCode()); }
2 Выделить муви-клип на рабочем поле.
3 Выбрать Window > Actions.
4 Дважды щелкнуть на onClipEvent команде в Actions категории списка.
5 В окне параметров выбрать Key down событие.
6 Дважды щелкнуть на if команде в Actions категории списка.
7 Щелкнуть внизу окна в строке ввода условия (Condition), выбрать Objects; затем выбрать Key и getCode.
8 Дважды щелкнуть на операторе эквивалентности (==) в категории Operators (Операторы) списка.
9 Справа от оператора эквивалентности ввести Dec-код клавиши.
Ваш код будет выглядеть следующим образом:
onClipEvent(keyDown) { if (Key.getCode() == 32) { } }
10 Выбрать действие, которое будет выполняться, если нажата нужная клавиша.
Например, следующая команда при нажатии на клавишу пробела (Dec# 32), заставит сделать переход на следующий кадр основной линейки (Timeline):
onClipEvent(keyDown) { if (Key.getCode() == 32) { nextFrame(); } }
Перехват нажатий клавиш

Для получения большей информации о методах объекта Key, см. соответствующий подраздел ActionScript Словаря.

Oт переводчика:

  1. Почему-то в родном доке Макромедия называет эти коды виртуальными, я заменил на более привычные десятичные (Decimal или Dec), чем они по сути и являются


  2. Содержание раздела