2011-05-11 127 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秒才能加载。或者至少从一个简单的预加载器开始,然后在资产加载时改变它的外观。