加载swf而不实例化

时间:2011-09-26 19:05:08

标签: flash actionscript-3 mxmlc

有没有办法可以加载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完成加载时,我可以看到它已创建,因为有些跟踪调用,虽然它显然没有添加到显示列表中。

1 个答案:

答案 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