2011-05-11 110 views
0

嗨,我想在Flash Builder中製作預加載器。我想在加載所有項目時縮放我的加載欄。但是當我開始我的遊戲時,它只是在白色屏幕上等待並跳過加載屏幕。誰能幫我解決這個問題As3預加載器問題

public class OYLoadManager extends Sprite 
{ 
    private var main:CagryInside; 
    //////////////////Load Manager Items///////////////////////////// 
    [Embed(source="../Resources/loadImages/loadBackground.png")] 
    private var loadBackgroundClass:Class; 
    private var loadBackground:Bitmap = new loadBackgroundClass() ; 

    [Embed(source="../Resources/loadImages/loadBar.png")] 
    private var loadBarClass:Class ; 
    private var loadBar : Bitmap = new loadBarClass() ; 

    private static const loadBarWidth:Number = 612; 

    private var loadManager:Loader = new Loader(); 

    public function OYLoadManager(getMain:CagryInside) 
    { 
     main = getMain; 
     // Initializing Load Manager 
     loadBar.x = 226; 
     loadBar.y = 396; 
     loadBar.width = 0 ; 

     //Load Screen images 
     main.addChild(loadBackground); 
     main.addChild(loadBar); 
     //main.gameStateManager.selectGameStates(1); 


     loadManager.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,loadScreen); 
     loadManager.contentLoaderInfo.addEventListener(Event.COMPLETE, finishProcess); 
     loadManager.load(new URLRequest("playerProductInstall.swf")); 


    } 

    public function finishProcess(event:Event):void{ 
    // removeLoadManagerMenu(); 
     main.gameStateManager.selectGameStates(1); 
    } 

    public function loadScreen(event:ProgressEvent):void{ 

     var ratio:Number = event.bytesLoaded/event.bytesTotal; 
     //loadBar.width += loadBarWidth/loadedObjectNumber ;  
     loadBar.scaleX = ratio; 
    } 

回答

0

我看不到stop()有沒有什麼地方。

否則:當您匯出類的ActionScript,你取消幀1出口,否則你就會有之前閃光事件一堆你的資產負載到達加載你的預加載確保。

確保您的第一幀是微小是一個非常有用的工具是帶寬分析器。用這個。當您從閃存測試您的應用程序/電影時,它位於View - > Bandwidth Profiler。它顯示每個幀的大小 - 嘗試保持幀1在30kb以下。簡單的預加載器比超大圖片要好,並且無論如何需要10-20秒才能加載。或者至少從一個簡單的預加載器開始,然後在資產加載時改變它的外觀。