繁体   English   中英

AS3使用A.swf加载程序加载B.swf

[英]AS3 loading B.swf with A.swf loader

问题是,B.swf是主要应用程序,因为它很大,所以我使用单独的A.swf加载B.swf,然后添加到舞台上。 但是在那种情况下,B.swf不能正常工作(某些东西可以工作,但是某些功能不能工作),在这种情况下,主要阶段是毫无疑问的。 当我直接加载B.swf时,它可以完美地工作,因此,有什么想法可以用A.swf加载B.swf,而不是“更改”主时间轴/阶段以指向B.swf,以便B可以正常运行吗?

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

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

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

我不知道这是否可以为您提供帮助,但这是一个实时更新系统,我对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
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM