2011-05-13 148 views
0

問題!什麼是加載外部swf文件的預加載器的最佳方式。 我寫這個的按鈕用於外部swf文件的AS3預加載器

function btnClick(event:MouseEvent):void 
{ 

    removeChild(loader); 
    var newSWFRequest:URLRequest=new URLRequest("swf/" + event.target.name + ".swf"); 
    loader.load(newSWFRequest); 
    loader.x = Xpos; 
    loader.y = Ypos; 
    addChildAt(loader, numChildren); 
} 

的實際操作任何幫助將是真棒。

回答

0

只需添加進度事件偵聽器並將您的代碼放入處理程序中。

function btnClick(event:MouseEvent):void { 
    var newSWFRequest:URLRequest=new URLRequest("swf/" + event.target.name + ".swf"); 
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, completeHandler); 
    loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, progressHandler); 
    loader.load(newSWFRequest); 
    loader.x = Xpos; 
    loader.y = Ypos; 
    addChildAt(loader, numChildren); 
} 

function completeHandler(e:Event):void { 
    loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, completeHandler); 
    loader.contentLoaderInfo.removeEventListener(ProgressEvent.PROGRESS, progressHandler); 
    trace("load complete"); 
} 

function progressHandler(e:ProgressEvent):void { 
    var perc:Number = Math.round((e.bytesLoaded/e.bytesTotal)*100)/100; 
    trace(perc); 
}