![]() |
Пропадает фокус клавиатуры с игры
Запускаю игру, жму мышкой новая игра, и пока я не кликну мышкой на swf не работает ввод с клавиатуры, как это можно исправить?
|
Такое иногда (или всегда) бывает, когда вы сначала подписали сцену на клавиатуру, а потом добавляете на сцену объект(ы). Попробуйте подписаться на клавиатуру после создания объектов, либо в конце передайте фокус сцене вручную -
Код AS3:
|
а в конце чего? тут в чем проблема, допустим я уже кликнул мышкой,играю клавиатурой, приезжает магазин я покупаю что мне надо, потом твинлайтом я убираю окно магазина и фокус опять пропадает
Добавлено через 3 минуты я повставлял stage.focus=stage; где только можно и что то не помогло( |
Жаль... Может попробовать подписать сцену на FocusEvent.KEY_FOCUS_CHANGE, чтобы словить этот момент.
|
До абсурда очевидное, но мало ли — а ты клавиатуру слушаешь точно на самом stage?
|
в классе Hero.as в событии onAddedToStage пишу
Код AS3:
|
На самом деле все эти установки фокуса на stage и прочие манипуляции не нужны. События клавиатуры не всплывут до stage только если об этом специально позаботиться.
Если ты слушаешь stage, а он молчит, ищи проблему в другом месте, возможно в том же onKeyDown/onKeyUp. |
а что с ними может бть не так?
|
Ну попробуй в обработчике первой строкой написать trace("!!!"); — может события таки обрабатываются, но логика внутри обработчика лажает.
|
Не проходит(
Добавлено через 9 минут я еще понял что клавиатура выключается после твинлайтовых приездов магазина, твинлайт никак не может отменять события сцены? |
| Часовой пояс GMT +4, время: 10:42. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.