Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash 外部swf的addevent键盘不工作_Flash_Actionscript 3_Flash Cs5 - Fatal编程技术网

Flash 外部swf的addevent键盘不工作

Flash 外部swf的addevent键盘不工作,flash,actionscript-3,flash-cs5,Flash,Actionscript 3,Flash Cs5,我在网上看过其他问题,但仍然不知道我错在哪里 我将向外部加载的swf添加2个事件 一个能行,一个不行?!? 函数名是正确的,所以我可以看到我遗漏了什么 my_loadedSwf = loadEvent.currentTarget.content as MovieClip; my_loadedSwf.addEventListener(Event.ENTER_FRAME, my_loadedSwf.enterFrameHandler); my_loadedSwf.addEventListener(K

我在网上看过其他问题,但仍然不知道我错在哪里 我将向外部加载的swf添加2个事件

一个能行,一个不行?!? 函数名是正确的,所以我可以看到我遗漏了什么

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现在它工作得很好

对上述内容的编辑 实际上,它不工作,我必须按“tab”来控制播放器

答复 啊,很抱歉做了这么多编辑
我删除了选项卡索引代码,并将焦点添加到加载的swf中,键盘事件通常在舞台级别捕获/收听。您应该将键盘侦听器添加到stage,并且仍然针对您想要的任何处理程序:

stage.addEventListener(KeyboardEvent.KEY_DOWN,  my_loadedSwf.myOnPress);
试试这个:

//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);
}