我从外部网站上获得SWF,例如:
import mx.events.FlexEvent;
private var request:URLRequest = new URLRequest("http://blabla.com/test.swf?user=100004604079959");
private var loader3:Loader = new Loader();
private var loaded:Boolean = false
protected function init(event:Event = null):void
{
if(!loaded) loadExternal();
}
private function loadExternal():void {
loaded=true
loader3.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete);
loader3.load(request);
myUIComponent.addChild(loader3);
}
private function onComplete(e:Event):void {
var mc:MovieClip = MovieClip(e.target.content);
//mc.removeEventListener(Event.ADDED_TO_STAGE, this.init);
}
但是系统给出此错误的系统:"错误#1063:参数计数test/init()。预期0,获得1。"
。因为test.swf具有:
public function test()
{
if (stage)
{
this.init();
}
else
{
addEventListener(Event.ADDED_TO_STAGE, this.init);
}
return;
}// end function
private function init() : void
{
//blabla
}
我无法编辑它,因为我无法访问编辑外部SWF。因此,我必须从Main App(我的意思是加载程序)更改test()函数。
我可以做吗?如果是,如何?
您的问题在这个代码块中:
private function init() : void
事件处理程序没有必需的参数参数。
private function init(event: Event) : void
Stage
对于内部和外部类是相同的。不幸的是,在调用addChild()
之前,stage
未定义为外部类。