клавиатура addevent к внешнему SWF не работает - PullRequest
0 голосов
/ 26 августа 2011

Я смотрел на другие вопросы и онлайн, но все еще не могу понять, где я иду не так Я добавляю 2 события во внешне загруженный SWF

Один работает, а другой нет?!? имена функций правильные, поэтому я вижу, чего мне не хватает

my_loadedSwf = loadEvent.currentTarget.content as MovieClip;
my_loadedSwf.addEventListener(Event.ENTER_FRAME, my_loadedSwf.enterFrameHandler);
my_loadedSwf.addEventListener(KeyboardEvent.KEY_DOWN,  my_loadedSwf.myOnPress);
addChild(my_loadedSwf);

enterFrameHandler работает, но onPress нет?!

Любая помощь будет великолепна

Спасибо

EDIT:

Я установил my_Loader.tabEnabled = true; ничего не изменилось, хотя

БОЛЬШЕ РЕДАКТИРОВАТЬ Извините, установите my_loadedSwf.tabEnabled = true; и теперь он прекрасно работает

РЕДАКТИРОВАТЬ НАД ВЫШЕ На самом деле, это не работает, я должен нажать «Tab», чтобы взять под контроль игрока

ОТВЕТ

Arrrgh, извините за все правки Я удалил код индекса вкладки и добавил фокус к загруженному SWF

Ответы [ 2 ]

1 голос
/ 26 августа 2011

События клавиатуры обычно записываются / прослушиваются на уровне сцены.Вы должны добавить слушателя клавиатуры на сцену и по-прежнему ориентироваться на любой обработчик, который вам нужен:

stage.addEventListener(KeyboardEvent.KEY_DOWN,  my_loadedSwf.myOnPress);
0 голосов
/ 26 августа 2011

попробуйте это:

//Load Complete Event Handler
private function loadCompleteEventHandler(evt:Event):void
{
    //Remove The Event Listener
    evt.currentTarget.removeEventListener(Event.COMPLETE, loadCompleteEventHandler);

    //Loaded external swf is a display object, so you can add it to the display list
    addChild(evt.currentTarget.content);

    //To access the loaded external swf's public methods and properties you can cast it as an object
    var myExternalSwf:Object = evt.currentTarget.content as Object;

    addEventListener(Event.ENTER_FRAME, myExternalSwf.enterFrameHandler);
    addEventListener(KeyboardEvent.KEY_DOWN, myExternalSwf.myOnPress);
}
...