AS3用A.swf加载器加载B.swf

时间:2012-09-04 09:22:03

标签: actionscript-3

问题是,B.swf是主应用程序,因为它很大我使用单独的A.swf加载B.swf然后只是添加到舞台。但是在那种情况下,B.swf不能正常工作(某些功能有效,但有些功能不起作用),它肯定是关于那个案例中的主要阶段。当我直接加载B.swf它完美的工作,所以任何想法如何加载B.swf与A.swf,而不是“改变”主时间轴/阶段指向B.swf所以B可以完全功能?

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分: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
}