0
私はこれに困惑しています...私が望むのは、XMLファイルのランダムなノードをFlashで表示することです... 1つのノードを表示できますが、2またはさらに、FlashはXMLタグをアイテムに貼り付けます。urlLoader_complete関数の質問に続く数字を変更して、意味を確認します。Flash - XMLランダムテキスト表示
var questions:XML;
var urlRequest:URLRequest = new URLRequest("breakfast.xml");
var urlLoader:URLLoader = new URLLoader();
urlLoader.dataFormat = URLLoaderDataFormat.TEXT;
urlLoader.addEventListener(Event.COMPLETE, urlLoader_complete);
urlLoader.load(urlRequest);
function urlLoader_complete(evt:Event):void {
questions = new XML(evt.target.data);
textArea.text = generateRandomQuestions(questions, 2).toString();
}
function generateRandomQuestions(source:XML, nodes:int = 6):XMLList
{
if (source.*.length() < nodes) return source.*;
var list:XMLList;
var hash:Array = [];
var randomPosition:int;
var node:XML;
do
{
node = source.*[(Math.random() * source.*.length()) >> 0];
if (hash.indexOf(node.toXMLString()) < 0)
{
hash.push(node.toXMLString());
list ? list += node : list = XMLList(node);
}
} while (list.length() < nodes)
return list;
}
と私のXML::
<?xml version="1.0" encoding="utf-8"?>
<breakfast>
<person>K</person>
<person>Dave</person>
<person>Andrew</person>
<person>Bart</person>
<person>Ricky</person>
</breakfast>
これは美しく機能します。動的なテキストフィールドにリンクした後に返される各ノード値の後に改行を追加する方法はありますか? – collin
配列をループするとき、 'tf.appendText(nodes [i]);' tf.appendText(nodes [i] + "\ n"); –