Я просмотрел другие вопросы и в Интернете, но до сих пор не могу понять, где я ошибаюсь. Я добавляю 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 - нет ?!

Любая помощь была бы замечательной

Благодарность

РЕДАКТИРОВАТЬ:

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

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

ИЗМЕНЕНИЯ, ВЫШЕУКАЗАННЫЕ На самом деле, это не работает, мне нужно нажать вкладку, чтобы получить контроль над плеером.

ОТВЕТ

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

0
atmd 26 Авг 2011 в 15:39

2 ответа

Лучший ответ

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

stage.addEventListener(KeyboardEvent.KEY_DOWN,  my_loadedSwf.myOnPress);
1
shanethehat 26 Авг 2011 в 11:50

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

//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);
}
0
Chunky Chunk 26 Авг 2011 в 13:34