|
|
|||||
Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
|
Не отображаются коды клавиш-букв
Здравствуйте, решил сделать управление не только стрелками, но и с помощью клавиш WASD. Написал такой код класса keys, он отображает коды стрелок, пробела, цифр и др клавиш, кроме букв, хотя вроде должен.
В нем есть trace, когда нажата стрелка - ее код выводится, если нажата клавиша W - код не выводится. package { import flash.display.Sprite; import flash.events.KeyboardEvent; public class Keys extends Sprite { internal var space:Boolean = false; internal var up:Boolean = false; internal var down:Boolean = false; internal var left:Boolean = false; internal var right:Boolean = false; public function Keys(keys_sprite:Sprite) { keys_sprite.stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); keys_sprite.stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); } private function keyDownHandler(event:KeyboardEvent):void { switch(event.keyCode) { case 38 : up = true; break; case 40 : down = true; break; case 37 : left = true; break; case 39 : right = true; break; case 87 : trace('WWWWWW'); break; case 32 : space = true; break; } trace(event.keyCode); } private function keyUpHandler(event:KeyboardEvent):void { switch(event.keyCode) { case 38 : up = false; break; case 40 : down = false; break; case 37 : left = false; break; case 39 : right = false; break; case 32 : space = false; break; } } } } |
|
|||||
[+1 16.03.13]
[+1 22.03.13] Регистрация: Dec 2012
Сообщений: 100
|
Согласно документации статическая константа с таким значением из класса Keyboard доступна только во время выполнения AIR
Так же в документации указано примечание к совйству keyCode класса KeyboardEvent: Если работает редактор метода ввода (IME), charCode не сообщает точные коды клавиш. |
|
|||||
Регистрация: Oct 2012
Сообщений: 191
|
а по-мойму, если Вы пишете во флеше, то клавиша W просто вызывает некий инструмент и в тестирование флешки не доходит...
|
|
|||||
У меня выводится.
Разница в том, что я повесил прослушку прямо на стейдж главного класса. stage.addEventListener(KeyboardEvent.KEY_DOWN, keyDownHandler); stage.addEventListener(KeyboardEvent.KEY_UP, keyUpHandler); UPD: хотя, нет, проверил, дело не в этом: Вывод продолжается, ссылка-то на stage сохранилась. Так что мое предположение ошибочно. |
|
|||||
Регистрация: Jan 2013
Адрес: Москва, Сходня
Сообщений: 41
|
Помогло
Да, тестировал во флеше, ФД сейчас не работает. Витамин был прав: Добавлено через 34 секунды вот в этом и было дело... |
Часовой пояс GMT +4, время: 12:29. |
|
« Предыдущая тема | Следующая тема » |
|
|