Flash 外部swf的addevent键盘不工作
我在网上看过其他问题,但仍然不知道我错在哪里 我将向外部加载的swf添加2个事件 一个能行,一个不行?!? 函数名是正确的,所以我可以看到我遗漏了什么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
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);
}