0

Actionscript 3.0 を使用して XML ファイルからランダム データを読み込むのにまだ苦労しています。

基本的に、ステージ上のボタンをクリックすると、xml からランダムな会場がステージ上の動的テキスト ボックスに表示されます。私のXMLはここにありますhttp://pastebin.com/0qMMkfCs

配列を作成せずに直接データにアクセスする方がよいでしょう。

確かに誰かがこれを正しく行う方法を知っています。ありがとうございました :)

4

1 に答える 1

0

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() を確認できます。

編集:物事がロードされて呼び出されるときに、コードを明確にマージしました。

于 2012-11-29T17:06:02.780 に答える