2009-12-22 96 views
0

目前,我有一些問題,我的預加載。預加載仿真白屏:AS3

我有一個AS3類網站用下面的代碼:

public function Website() { 

     addEventListener(Event.ENTER_FRAME, PreloaderStart); 
    } 

    private function PreloaderStart(e:Event):void { 
     var bt:int=loaderInfo.bytesTotal; 
     var bl:int=loaderInfo.bytesLoaded; 
     trace(bl/bt); 
     var pt:int=Math.round(100*bl/bt); 
     preloaderMC.loadInfo.text="loading "+pt+"%"; 
     if (bl==bt) { 
      removeEventListener(Event.ENTER_FRAME, PreloaderStart); 
      PreloaderOnComplete(); 
     } 
    } 
    private function PreloaderOnComplete():void { 
     trace("loaded"); 
     buildUI(); 
    } 

我畫我的舞臺黑色,當我只需運行它追溯到「裝」我的Flash文件,所以一切都是裝好,它構建UI 。但是,當我按Ctrl + Enter模擬輸入兩次,我得到一個白色的屏幕,約10秒後。 (我的SWF爲1MB,它模擬了在100kbs),它會立即顯示預加載100%,並加載我的UI。所以我的文字不會從0% - > 100%變化,但是當所有內容都被加載時,我只會獲得100%的效果。

如果有人能幫助我,我會心存感激。

Regards

回答

1

看看bandwith profiler的第一幀。如果你有很多事情要加載,則可能將它們移動在第二幀中,並留下儘可能少的事情儘量在第一幀。

如果你在帶寬探查外觀和模擬下載你應該看到的是,預加載或任何內容顯示了1幀的加載之後。

您可能需要將actionscript設置的「導出幀」設置爲2,具體取決於您正在使用的類/組件。

HTH

+0

我只有文本框在我的舞臺上。其中說:...%加載。一旦我進入函數buildUI(),通過代碼 – Ayrton 2009-12-22 13:02:04

+1

庫中帶有鏈接(類導出)設置的任何符號來加載內容?在Bandwith分析器中,第一幀的大小(以KB爲單位)是多少? – 2009-12-22 14:23:50

+0

這正是問題所在。我在文檔課上做了所有事情。現在當我添加一個新的框架,改變設置導出到第2幀,然後evertyhing完美工作。非常感謝 – Ayrton 2009-12-22 15:00:38

1

如果您的通話buildUI引用任何其他類(它有可能如此),所有的代碼也將在第一幀加載。

假設你正在使用閃存而不是Flex Builder中,您buildUI()調用將更好地被放置在機架2,做喬治寫動作腳本出口到幀2