2012-09-04 49 views
0

問題是,B.swf是主應用程序,因爲它很大我使用單獨的A.swf來加載B.swf,然後添加到階段。但是在這種情況下,B.swf不能正常工作(某些方法可行,但某些功能不起作用),那麼在這種情況下主要階段是什麼是確定無疑的。當我直接加載B.swf它完美的作品,所以任何想法如何加載A.swf B.swf和比「改變」主時間軸/階段指向B.swf所以B可以是全功能?AS3使用A.swf加載器加載B.swf

回答

1

你試圖將B.swf中裝入currentDomain像這樣:

var context:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain); 
yourLoader.load(new URLRequest("B.swf"), context); 
當然記得要添加的所有事件:)喜歡完整的ioerror的

+0

是的,那就是我一直在尋找的東西,非常感謝! – Simon

+0

沒有問題,您可以使用它來加載類似於代碼或資源(例如圖像)的庫,您希望它們可以輕鬆地被其他應用程序元素使用。 –

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 
}