我仍在努力使用Actionscript 3.0加载来自XML文件的随机数据而不重复之前的场地。
基本上当我点击舞台上的按钮时,我想从我的xml随机场地在舞台上的动态文本框中显示。我的 XML 位于http://pastebin.com/0qMMkfCs
最好直接访问数据而不创建数组!
当然有人知道如何正确地做到这一点。谢谢你:)
答案 0 :(得分:0)
好的,此编辑将显示如何确保它们都是随机出现的:
private var xmlLoader:URLLoader = new URLLoader();
private var myLoadedXML:XML;
private var venues:XMLList;
public function getAnotherRandomVenue():XML{
if(venues.length() > 0){
var random:Number = Math.floor(Math.random() * (venues.length()-1));
var thisRandomVenue:XML = new XML(venues[random]);
delete venues[random];
return thisRandomVenue;
}
return null;
}
public function loadItUP():void{
xmlLoader.addEventListener(Event.COMPLETE, onXMLLoaded);
xmlLoader.load(new URLRequest("http://path.to.venuesXML.xml"));
}
private function onXMLLoaded(e:Event):void {
myLoadedXML = new XML(e.target.data);
venues = myLoadedXML.venue;
// you are now ready at this point to start calling getAnotherRandomVenue()
}
现在调用getAnotherRandomVenue会返回一个Venue XML对象。您现在可以a)重复调用此方法,直到它返回null(所有项目已被随机返回)或b)在调用之前查看venues.length()。
编辑:当事情被加载并调用时,将代码清楚地合并。