Напечатать имя нажатой клавиши в AS3? - PullRequest
0 голосов
/ 18 сентября 2011

Есть ли в AS3 способ вывода физического имени нажатой клавиши? (т.е. "Вы нажали: Стрелка влево")

Очевидное решение - преобразовать код символа в строку, но это работает только для таких вещей, как буквенно-цифровые клавиши. Ctrl, Alt и т. Д. Имеют особые случаи, но это не помогает для таких вещей, как клавиши со стрелками или F-клавиши.

Другим, возможно, наивным вариантом является наличие пары Key, Value для всех кодов клавиш и их имен. Это должно быть почти тривиально (если утомительно), чтобы кодировать это сам, но так как AIR уже имеет такие вещи, как

KEYNAME_LEFTARROW : String = "Left"

Мне было интересно, встроена ли эта способность где-то без необходимости хранить собственную коллекцию строк.

1 Ответ

2 голосов
/ 18 сентября 2011

Нет, у AS3 нет способа вывести специальные ключи, которые вы упомянули, но с помощью простого поиска в Google вы можете найти класс, который сделает это за вас. Или вам придется сделать что-то, как вы упомянули, где вы связываете строку с кодом ключа. Это хлопотно, но есть много классов, расположенных в Интернете, где люди уже сделали это, но, честно говоря, не так много клавиш, которые Flash позволяет вам в любом случае использовать в браузере, так что это не займет много времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...