有没有办法可以加载swf文件但不能自动实例化它的DocumentClass?
相反,我想做类似以下的事情:
protected function mainLoaded(e:Event = null):void {
trace('mainLoaded');
var main:* = this.mainLoad.createClassByName('Main');
trace(main);
}
其中mainLoad是CasaLib的SwfLoad实例,而createClassByName相当于loaderInfo.applicationDomain.getDefinition();
问题是,当我的swf完成加载时,我可以看到它已创建,因为有些跟踪调用,虽然它显然没有添加到显示列表中。
答案 0 :(得分:1)
在您的子swf的文档类中,使用以下内容:
//constructor
public function ChildSWF()
{
if(stage) init()
else addEventListener(Event.ADDED_TO_STAGE, init);
}// end if
private function init(e:Event = null):void
{
removeEventListener(Event.ADDED_TO_STAGE, init);
trace("This will only trace when an instance of ChildSWF is added to the stage, not when it's instantiated");
}// end function