![]() |
|
||||||||||
|
|
|
|||||
|
Здравствуйте.
Уже второй день бьюсь с каким-то не понятным мне глюком. Код: private function start_game(level) { stage.addEventListener(KeyboardEvent.KEY_DOWN,hero_fly); function hero_fly(e:KeyboardEvent):void { trace("asdas"); switch (e) { ... библиотеки KeyboardEvent и Event - подключены. Вставляю этот код в основной as файл - работает. Пишу в классе Main - не работает. В чём может быть причина? |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Проблема в том, что на объекте нет фокуса. Если вам нужен обработчик, который будет работать всегда, то подписывайтесь к stage приложения.
|
|
|||||
|
Цитата:
Я правильно вас понял, что нужно фокус переместить на мувик, действия в котором мне нужно отслеживать? Если это так, буду благодарен за пример. |
|
|||||
|
Регистрация: Feb 2013
Адрес: Seireitei
Сообщений: 176
|
тоесть fla ?
вешай слушатели в конструкторе главного класа |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Вешайте обработчик на
где в Main.as
|
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Напишите в главном классе аналогичный код
|
|
|||||
|
Я не так делал, да и не суть важно уже.
Решил сделать с помощью focus private function start_game(level) { stage.focus=this; addEventListener(KeyboardEvent.KEY_DOWN,hero_fly); function hero_fly(e:KeyboardEvent):void { switch (e) { case Keyboard.UP : { trace("asdas"); y -= 5; break; } } } }; trace не выводит ничего. ![]() Последний раз редактировалось ndiezel; 25.04.2013 в 17:39. |
|
|||||
|
Регистрация: Mar 2011
Сообщений: 243
|
Не спорю, но другого простого способа не знаю. Написание KeyboardManager не в счёт.
|
|
|||||
|
Цитата:
И эм... Я не против "философских диспутов", но у меня тут код не работает. И что самое печальное - я никак не могу понять - почему? Растолкуйте уж топикстартеру, пожалуйста. Да и не работает у меня main.instance Ошибку выдаёт компиллятор. |
![]() |
![]() |
Часовой пояс GMT +4, время: 18:08. |
|
|
« Предыдущая тема | Следующая тема » |
|
|