Flex4 制作Loading动画

第一步:在FLASH CS 5中 制作Loading影片剪辑名称为PreloaderDisplay如图所示:
Flex4 制作Loading动画
第二步:在影片剪辑的第一帧加上如下代码:
setMainProgress(0);
setInitalizeProgress(0);
percentTxt.text="0%";
function setMainProgress(percent:Number):void {
    ProgBar.width = percent * 325; 
}
function setInitalizeProgress(percent:Number):void { 
    ProgBar.width = percent * 325; 
}

 第三步:将影片剪辑打包成SWC放入FLEX工程lib包下第四步:在flex工程里编写如下类
package com.uitls
{
	import mx.preloaders.SparkDownloadProgressBar;

	public class DocumentManagerPreloaderBar extends SparkDownloadProgressBar
	{
	  private var spreLoader:PreloaderDisplay;
	  public function DocumentManagerPreloaderBar()
	  {
	   super();
	  }
	  
	  override  protected function createChildren():void{
	   if(!spreLoader){
	    spreLoader = new PreloaderDisplay();
	    var sX:Number = Math.round((stage.stageWidth-spreLoader.width)/2);
	    var sY:Number = Math.round((stage.stageHeight-spreLoader.height)/2);
	    
	    spreLoader.x = sX;
	    spreLoader.y = sY;
	    
	    this.addChild(spreLoader);
	   }
	  }
	  
	  override protected function setDownloadProgress(completed:Number, total:Number):void{
	   if(spreLoader){
	    spreLoader.setMainProgress(completed/total);
	    setPreloaderLoadingText(Math.round((completed/total)*100).toString() + "%");
	   }
	   
	  }
	  
	  override protected function setInitProgress(completed:Number, total:Number):void{
	   if(spreLoader){
	    spreLoader.setInitalizeProgress(completed/total);
	    
	    if(completed>=total){
	     setPreloaderLoadingText("OVER");
	    }else{
	     //setPreloaderLoadingText("initializing " + completed + " of " + total);
	     setPreloaderLoadingText(Math.round((completed/total)*100).toString() + "%");
	    }
	   }
	  }
	  
	  private function setPreloaderLoadingText(str:String):void{
	       spreLoader.percentTxt.text = str;
	  }
	}
}

第五步:在Flex Application中加上 preloader="com.uitls.DocumentManagerPreloaderBar"
第六步:测试,完成。

引用
http://bbs.airia.cn/home.php?mod=space&uid=67&do=blog&id=3928

你可能感兴趣的:(PHP,Flex,Flash,ITeye,bbs)