我仍然从XML文件中使用ActionScript 3.0没有重复之前的场地挣扎装载在随机数据。
基本上,当我从我的XML单击舞台上的按钮我想一个随机地点在舞台上动态文本框来显示。 我的XML就设在这里http://pastebin.com/0qMMkfCs
这将是更好的直接访问数据,而无需创建一个数组中!
肯定有人知道如何正确地做到这一点。 谢谢 :)
我仍然从XML文件中使用ActionScript 3.0没有重复之前的场地挣扎装载在随机数据。
基本上,当我从我的XML单击舞台上的按钮我想一个随机地点在舞台上动态文本框来显示。 我的XML就设在这里http://pastebin.com/0qMMkfCs
这将是更好的直接访问数据,而无需创建一个数组中!
肯定有人知道如何正确地做到这一点。 谢谢 :)
OK,这个编辑将介绍如何确保他们都来了一次随机:
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将返回一个单一地点XML对象。 现在,您可以一)反复调用此方法,直到它返回null(所有项目已随机返回)或b)看venues.length()调用它。
编辑:合并代码清楚,当事情变得加载并调用。