Actionscript 3.0 を使用して XML ファイルからランダム データを読み込むのにまだ苦労しています。
基本的に、ステージ上のボタンをクリックすると、xml からランダムな会場がステージ上の動的テキスト ボックスに表示されます。私のXMLはここにありますhttp://pastebin.com/0qMMkfCs
配列を作成せずに直接データにアクセスする方がよいでしょう。
確かに誰かがこれを正しく行う方法を知っています。ありがとうございました :)
Actionscript 3.0 を使用して XML ファイルからランダム データを読み込むのにまだ苦労しています。
基本的に、ステージ上のボタンをクリックすると、xml からランダムな会場がステージ上の動的テキスト ボックスに表示されます。私のXMLはここにありますhttp://pastebin.com/0qMMkfCs
配列を作成せずに直接データにアクセスする方がよいでしょう。
確かに誰かがこれを正しく行う方法を知っています。ありがとうございました :)
OK、この編集では、それらすべてがランダムに 1 回表示されるようにする方法を示します。
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() を確認できます。
編集:物事がロードされて呼び出されるときに、コードを明確にマージしました。