簡體   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