1. package com   
  2. {   
  3.     import com.greensock.events.LoaderEvent;   
  4.     import com.greensock.loading.ImageLoader;   
  5.     import com.greensock.loading.LoaderMax;   
  6.     import com.greensock.loading.XMLLoader;   
  7.     import flash.text.TextField;   
  8.     import flash.display.MovieClip;   
  9.     import flash.events.Event;   
  10.    
  11.     /**  
  12.      * @author   
  13.      */   
  14.     public class Data extends MovieClip   
  15.     {   
  16.         public var _stageHeight : int = -246;   
  17.            
  18.         private var dataLoader : XMLLoader;   
  19.         public static var p_w_picpathObj : Object = {};   //图片配置信息   
  20.         public static var p_w_picpathUrlArr : Array = [];     //图片地址   
  21.         public var p_w_picpathArr : Array = [];           //图片对像数组   
  22.         private var p_w_picpathsXMLList : XMLList;   
  23.         private var jietuXMLList : XMLList;   
  24.         //private var jietuArr : Array = [];   
  25.         //private var yuanhuaArr : Array = [];   
  26.         private var yuanhuaXMLList : XMLList;   
  27.         public var input : TextField;   
  28.            
  29.         public function Data()   
  30.         {   
  31.         }   
  32.    
  33.         public function start(url : String ="data/config.xml" ) : void    
  34.         {   
  35.             LoaderMax.activate([ImageLoader]);    
  36.             dataLoader = new XMLLoader(url, {onComplete:onDataInit});   
  37.             dataLoader.load();     
  38.         }   
  39.                    
  40.         private function onDataInit(event : LoaderEvent) : void    
  41.         {   
  42.             var data : XML = dataLoader.content as XML;   
  43.             p_w_picpathsXMLList = data.child("p_w_picpaths").children();   
  44.             for (var i : int = 0; i < p_w_picpathsXMLList.length(); i++)   
  45.             {   
  46.                 p_w_picpathObj[p_w_picpathsXMLList[i].@url] = [p_w_picpathsXMLList[i].@http0,p_w_picpathsXMLList[i].@http1,p_w_picpathsXMLList[i].@http2,p_w_picpathsXMLList[i].@http3];   
  47.                 p_w_picpathUrlArr.push(p_w_picpathsXMLList[i].@url)   
  48.             }   
  49.                
  50.             jietuXMLList = data.child("jietu").children();   
  51.             yuanhuaXMLList = data.child("yuanhua").children();   
  52.    
  53.             loadImages();   
  54.         }   
  55.            
  56.         private function loadImages() : void    
  57.         {   
  58.             var queue : LoaderMax = new LoaderMax({onComplete:completeHandler,onProgress:progressHandler});    
  59.             for(var i : int = 0;i < p_w_picpathsXMLList.length();i++)   
  60.                 queue.append(new ImageLoader(p_w_picpathsXMLList[i].@url, { container:null, name:p_w_picpathsXMLList[i].@url, smoothing:true } ));   
  61.             for(var j : int = 0;j < jietuXMLList.length();j++)   
  62.                 queue.append(new ImageLoader(jietuXMLList[j].@url, { container:null, name:jietuXMLList[j].@url, smoothing:true } ));   
  63.             for(var k : int = 0;k < yuanhuaXMLList.length();k++)   
  64.                 queue.append(new ImageLoader(yuanhuaXMLList[k].@url, { container:null, name:yuanhuaXMLList[k].@url, smoothing:true}));   
  65.             queue.load();   
  66.         }   
  67.    
  68.         private function completeHandler(event : LoaderEvent) : void    
  69.         {   
  70.             for (var i:int = 0; i < p_w_picpathUrlArr.length;i++ )   
  71.                 p_w_picpathArr.push(LoaderMax.getContent(p_w_picpathUrlArr[i]));   
  72.             for (var j:int = 0; j < jietuXMLList.length();j++ )   
  73.                 BananerStaic.jietuArr.push(LoaderMax.getContent( jietuXMLList[j].@url));   
  74.             for (var k:int = 0; k < yuanhuaXMLList.length();k++ )   
  75.                 BananerStaic.yuanhuaArr.push(LoaderMax.getContent(yuanhuaXMLList[k].@url));   
  76.                    
  77.             BananerStaic._bitmapArr = p_w_picpathArr;   
  78.             BananerStaic.p_w_picpathArr = p_w_picpathArr;   
  79.             this.dispatchEvent(new Event(Event.COMPLETE));   
  80.         }   
  81.            
  82.         /**得到模型地址*/   
  83.         public static function getImageHttp(url : String) : * {   
  84.             if(p_w_picpathObj[url] == null || p_w_picpathObj[url] == undefined) {   
  85.                 trace("没有这个........." + url);   
  86.             }   
  87.             return p_w_picpathObj[url];   
  88.         }   
  89.            
  90.            
  91.         /*** 进度 */   
  92.         //private var myProgressBar : Sprite = new Sprite();   
  93.         private function progressHandler(event : LoaderEvent) : void    
  94.         {   
  95.             input.text = Math.floor(event.target.progress * 100) + "%";   
  96.             //this.addChild(myProgressBar);   
  97.             //myProgressBar.graphics.beginFill(0xFF0000);   
  98.             //myProgressBar.graphics.drawRect(0, 0, event.target.progress * 100, 50);   
  99.             //trace(event.target.progress);   
  100.             //myProgressBar.scaleX = event.target.progress;   
  101.         }   
  102.    
  103.         //end   
  104.     }   
  105. }