Цитата:
Сообщение от tofflife
В Game.swf, в document-классе есть код:
 Код AS3:
this.parent.addEventListener(KeyboardEvent.KEY_UP, onGlobalKeyUp);
//Пробовал так же this.addEventListener(KeyboardEvent.KEY_UP, onGlobalKeyUp);
И по каким-то причинам, при обычном запуске game.swf, обработчик срабатывает.
|
this.parent в этом случае равен Stage. Поздравляю! Вы подписались на глобальный диспетчер клавиатурных событий.
Цитата:
|
А если я пытаюсь загрузить её извне(см. код выше), т.е. из другой флешки, обработчик не вызывается...
|
Ну, тогда this равен loader.content, а this.parent соответственно равен loader. loader не имеет фокуса (т.е. this.stage.focus != loader), а значит, диспатчить события клавы loader не будет.
В обоих случаях достаточно добавить слушателя к stage:

Код AS3:
this.stage.addEventListener(KeyboardEvent.KEY_UP, onGlobalKeyUp);
естественно, убедившись в наличии этого this.stage.
Для флешек из разных доменов может произойти "упс"!