Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用AS3不重复地从XML中获取随机数据_Xml_Actionscript 3_Random - Fatal编程技术网

使用AS3不重复地从XML中获取随机数据

使用AS3不重复地从XML中获取随机数据,xml,actionscript-3,random,Xml,Actionscript 3,Random,我仍然在使用ActionScript3.0从XML文件中加载随机数据,而没有重复上一个场景 基本上,当我单击stage上的按钮时,我希望xml中的随机地点显示在stage上的动态文本框中。我的XML位于此处 最好是直接访问数据而不创建数组 肯定有人知道如何正确地做到这一点。谢谢:)好的,此编辑将显示如何确保它们都随机出现一次: private var xmlLoader:URLLoader = new URLLoader(); private var myLoadedXML:XML; priva

我仍然在使用ActionScript3.0从XML文件中加载随机数据,而没有重复上一个场景

基本上,当我单击stage上的按钮时,我希望xml中的随机地点显示在stage上的动态文本框中。我的XML位于此处

最好是直接访问数据而不创建数组


肯定有人知道如何正确地做到这一点。谢谢:)

好的,此编辑将显示如何确保它们都随机出现一次:

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()
}
现在调用GetAnotherRandomVincement将返回一个单一的VinceXML对象。现在,您可以a)重复调用此方法,直到它返回null(所有项都已随机返回),或者b)在调用它之前查看vivoces.length()


编辑:合并代码,以便在加载和调用内容时清晰显示。

这是家庭作业吗?不,这只是一个个人项目,我现在正试图创建一个网站!但是我添加的链接也有同样的问题,并且使用了相同的XML是的,我使用的XML与链接中的XML相同,因此我可以根据我的XML修改代码@哈哈,我想你是对的。现在我看到了关于这个的其他问题。。。这比我的答案更深刻。大卫。。看看他提到的另一个问题。我认为这不是最终的解决方案(因为它只能确保当前选择与前一个选择不同…但不能确保所有选择最终都随机出现)。。。但它会让你朝着正确的方向前进。有趣的我上学的时候斯塔克在哪里?!?你应该考虑增加一些解释。“Jason Reeves。感谢Jason在实现代码后的编辑,我一直收到这个错误。1119:通过静态类型为flash.net:URLLoader的引用访问可能未定义的属性场所。有什么想法吗?:)谢谢你的耐心:)我要再改变一件可能会把你搞糊涂的事here@JasonReeves现在明白了#1009:无法访问空对象引用的属性或方法。哈哈,我只是垃圾!