Руководство по actionscript. часть 4, стр. 074
1. Запустите приложение KeyViewer из листинга 22.11 на компьютере с такой же операционной системой и клавиатурой, как у конечного пользователя.
2. Нажмите желаемую клавишу.
3. Сохраните возвращенный код клавиши в виде константы.
4. Используйте константу, полученную на шаге 3, при определении момента нажатия или отпускания желаемой клавиши.
Предположим, что мы хотим определить момент, когда пользователь нажимает клавишу А на компьютере с операционной системой Mac OS и клавиатурой с раскладкой U. S. English. Мы запускаем приложение KeyViewer и нажимаем клавишу А. В ответ приложение KeyViewer отображает код клавиши — 65. Мы сохраняем этот код в виде константы пользовательского класса, например с именем KeyConstants, как показано в следующем коде:
public static const A_KEY:int = 65;
Затем, чтобы определить момент нажатия клавиши А, мы используем следующий код:
private function keyDownListener (e:KeyboardEvent):void { if (e. keyCode == KeyConstants. A_KEY) { traceCThe A key was pressed»);
}
}
Следующий код демонстрирует описанную методику в контексте очень простого тестового приложения:
package { import flash. display.*; import flash. events.*;
public class AKeySensor extends Sprite { //
public static const A_KEY:int = 65;
public function AKeySensor ( ) { stage. addEventLi stener(KeyboardEvent. KEY_D0WN, keyDownLi stener);
}
private function keyDownListener (e:KeyboardEvent):void { if (e. keyCode == AKeySensor. A_KEY) { traceCThe A key was pressed»);
}
}
}
}
Стоит отметить, что, когда используется редактор методов ввода (IME — Input Method Editor), переменная экземпляра keyCode класса KeyboardEvent не
поддерживается. Дополнительную информацию о редакторах IME можно найти вописании класса flash, system. IME справочника по языку ActionScript корпорации Adobe и в разделе Programming ActionScript 3.0 > Flash Player APIs > Client System Environment > IME class документации корпорации Adobe.