0

问题是,B.swf 是主要应用程序,因为它很大,我使用单独的 A.swf 来加载 B.swf,然后只是添加到舞台。但是在那种情况下,B.swf 不能正常工作(有些工作,但有些功能不起作用),在这种情况下,主要阶段是什么。当我直接加载 B.swf 时,它工作得很好,所以有什么想法如何用 A.swf 加载 B.swf,而不是“更改”主时间线/阶段以指向 B.swf,以便 B 可以发挥全部功能?

4

2 回答 2

1

您是否尝试将 B.swf 加载到 currentDomain 中,如下所示:

var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
yourLoader.load(new URLRequest("B.swf"), context);  

当然记得添加所有事件:) 比如完整和 ioerror,

于 2012-09-04T09:31:24.987 回答
0

我不知道这是否对您有帮助,但它是我使用 FlashDevelop 的预加载器完成的实时更新系统:

public function Preloader() 
{
        var mLoader:Loader = new Loader();  
        var mRequest:URLRequest = new URLRequest("ABSOLUTE URL");
        mLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onCompleteHandler);
        mLoader.load(mRequest);

        function onCompleteHandler(loadEvent:Event):void 
        {
            addChild(loadEvent.currentTarget.content);
        }

        if (stage) {
            stage.scaleMode = StageScaleMode.NO_SCALE;
        }

        addEventListener(Event.ENTER_FRAME, checkFrame);
        loaderInfo.addEventListener(ProgressEvent.PROGRESS, progress);
        loaderInfo.addEventListener(IOErrorEvent.IO_ERROR, ioError);

        // TODO show loader
}
于 2012-09-04T15:32:05.303 回答