|
|
|
|||||
Рандомный выбор из XML
Всем доброго времени суток. Делаю программу - тест. Собственно вопрос в заголовке - как рандомно выбрать элемент из xml файла(неповторяющийся)?
У самого только одна идея. Псле получения xml, он пробразуется в коллекцию. Затем получать рандомное число i (скажем, из массива целых чисел длиною равной длине xml коллекции, а затем удалять этот элемент из массива(чтобы не повторялось)). а затем выводить XMLList[i]= questionLabel.text . Есть у кого каие варианты ? Буду благодарен любой помощи. |
|
|||||
Чем плох предложенный вами вариант? Вот, скажем, он же в коде (код кривой, но рабочий).
package { import flash.display.Sprite; import flash.events.Event; public class TestProject extends Sprite { public function TestProject():void { if (stage) init(); else addEventListener(Event.ADDED_TO_STAGE, init); } private function init(event:Event = null):void { removeEventListener(Event.ADDED_TO_STAGE, init); // Тестовая XML var xmlString:String = '<?xml version="1.0" encoding="UTF-8"?><data><question>Where is my mind?</question><question>So what?</question><question>No fun?</question></data>'; var xml:XML = new XML(xmlString); // Создаем массив var questions:Array = []; // Заносим в него вопросы for (var i:int = 0; i < 3; i++) questions[i] = xml.question[i]; // Выводим вопросы в случайном порядке var index:int; for (var j:int = 2; j >= 0; j--) { index = Math.round(Math.random() * j); trace(questions[index]); questions.splice(index, 1); } } } } |
|
|||||
Modus ponens
|
Типы XML и String в AS3 конвертируются друг в друга, кроме того, в AS3 можно использовать литерал XML. Т.е.
это вполне обычный AS3 код. Что до задачи: XMLList в чем-то очень похож на массив.
__________________
Hell is the possibility of sanity |
Часовой пояс GMT +4, время: 02:05. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|