![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 18
|
Столкнулся со следующей проблемой:
Задача - перехват нажатия кнопки клавиатурой. Работаю через FlashDevelop. AS3 FP10. Моя программа имеет следующую структуру: У класса мейн addchild сцена. Далее у объекта сцены два addchild - первый поле на котором происходит все действие, второе - интерфейс. По логике листнер нужно записать к сцене. Такой код: public function FirstScena(name:String) { //всякие действия addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } private function onKeyDown(event:KeyboardEvent):void { trace("Key: "+String.fromCharCode(event.charCode)+" (charCode: "+event.charCode+")"); //тут обработчик } Обработчик не всегда срабатывает - такое ощущение, что то ли фокус все время сбивается. Иногда чтоб начал исполнятся нужно потыкать в разные элементы. |
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
stage подпишите.
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 18
|
если написать
При компиляции выдает: Цитата:
|
|
|||||
|
...
модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
|
Event.ADDED_TO_STAGE в помощь.
|
|
|||||
|
Регистрация: Feb 2012
Сообщений: 18
|
Спасибо.
Тем у кого подобная проблема: public function FirstScena(name:String) { //всякие действия addEventListener(Event.ADDED_TO_STAGE, onAddStage); } private function onAddStage(e:Event):void { stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyDown); } private function onKeyDown(event:KeyboardEvent):void { trace("Key: "+String.fromCharCode(event.charCode)+" (charCode: "+event.charCode+")"); //тут обработчик } |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:09. |
|
|
« Предыдущая тема | Следующая тема » |
|
|