2011-03-29 93 views
0

在加载xml时,哪些代码应该添加以显示预加载器?或者我不需要有一个?AS3-XML如何在加载xml时执行预加载器?

//Load gallery.xml 
var xmlLoader:URLLoader = new URLLoader(); 
var xmlData:XML = new XML(); 

xmlLoader.addEventListener(Event.COMPLETE, LoadXML); 
xmlLoader.load(new URLRequest("gallery.xml")); 

function LoadXML(e:Event):void 
{ 
    xmlData = new XML(e.target.data); 
    ParseProject(xmlData); 
} 

function ParseProject(projectInput:XML):void 
{ 
    trace("XML Output"); 
    trace("------------------------"); 

    var projectAttributes:XMLList = projectInput.project.attributes(); 

    for each (var projectName:XML in projectAttributes) 
    { 
     trace(projectName); 
     var projectDP:XMLList = projectInput.project.(@name == projectName).displayP; 
     trace(projectDP); 
    } 
} 

回答

0

您可以侦听ProgressEvent:

import flash.events.ProgressEvent 
xmlLoader.addEventListener(ProgressEvent.PROGRESS, _onProgress); 
function _onProgress(e:ProgressEvent):void { 
      //do whatever you need. 
    trace("loaded: ", e.bytesLoaded, " total: ", e.bytesTotal); 
} 

至于是否应该使用一个或没有,这完全取决于你。一般来说,你最好让用户知道发生了什么。