![]() |
|
||||||||||
|
|||||
|
Регистрация: Oct 2009
Сообщений: 14
|
Доброго времени суток, уважаемые. Подскажите пожалуйста, как назначить фокус на динамически создаваемый экземпляр объекта класса? У меня проблема в следующем:
При запуске приложения загружается главный класс игры, который загружает экз. класса заставки с двумя кнопками - одна из них "играть" при нажатии на ней главный класс удаляет заставку и загружает экземпляр класса "game", который в свою очередь загружает экз. класса главного героя, и экземпляр нужного уровня. Теперь ситуация: при загрузке уровня пока не кликну по окну мышкой т.е. не дам ему фокус - герой не бегает. События нажатия кнопок навесил на stage класса героя (по другому не работает). К сожалению код предоставить не могу: он очень большой и в разных файлах. Имея предоставленную информацию кто нибудь сможет подсказать? Последний раз редактировалось moskitos80; 22.11.2009 в 19:09. |
|
|||||
|
Регистрация: Oct 2009
Сообщений: 14
|
А если игрушка запускается не в браузере, а сразу на компьютере?
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Должно быть всё нормально.
В случае же запуска из-под браузера поможет использование SWFObject. |
|
|||||
|
что, внедренный через SWFObject ролик сразу получает фокус, так что обрабатываются клавишные события?
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Такой код должен работать:
<SCRIPT type=text/javascript> var objId = "flashContentId"; var movieSize = {w:"550", h:"60"}; var params = {menu: "false", allowNetworking: "all"}; function setFocusOnFlash() { var flashObj = document.getElementById(objId); if (flashObj) flashObj.focus(); } swfobject.embedSWF("movie.swf", objId, movieSize.w, movieSize.h, "9.0.0", false, false, params, false); if(swfobject.hasFlashPlayerVersion("9.0.0")) { swfobject.addDomLoadEvent(setFocusOnFlash); } </SCRIPT> |
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
Да, и давно этим пользуюсь.
Единственная проблема состоит в том, что этот метод не работает для браузеров, основанных на WebKit, из-за глючного метода focus(). Глюк устранить обещаются давно, но пока никак. Есть извращённые методы с callback-функциями, но уж очень они извращённы Если кто-то знает нормальный вариант – поделитесь, пожалуйста) |
|
|||||
|
Цитата:
|
|
|||||
|
Регистрация: Mar 2008
Адрес: Ростов-на-Дону
Сообщений: 354
|
другого, к сожалению, я не знаю, кроме того самого варианта с callback-функциями...
кому интересно: Fixing Firefox Flash Foolishness |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:41. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| в игре , установить фокус |
| Опции темы | |
| Опции просмотра | |
|
|