PDA

Просмотр полной версии : random в ActionScript


CasperKZ
03.01.2009, 19:36
как можно вытащить из XML файла переменную рандомом?

допустим там много вопросов...

<question id="3" Nname="Вопрос1">
<question id="3" Nname="Вопрос2">
<question id="3" Nname="Вопрос3">
<question id="3" Nname="Вопрос4">
и так далее

AlexCooper
03.01.2009, 19:39
Типизация ХМЛ

<?xml version="1.0" encoding="UTF-8"?>
<question1 id="3" Nname="Вопрос1"></question1>
<question2 id="3" Nname="Вопрос2"></question2>
...................
<question3 id="3" Nname="Вопрос3"></question3>

index= new XML();

index.load('http://путь/имя.xml');

index.ignoreWhite=true;

function razbor_xml (xml)
{

if (xml.status != 0)
{
trace ('XML документ содержит ошибку');
return;
}

array = [];
array = xml.childNodes;

i=Math.round(Math.random()*array.length);
DataXML= index.childNodes[i].attributes["Nname"];
}

index.onLoad = function ()
{
razbor_xml (index);
};
Проверьте интервал Раднома.

Dima_DPE
07.01.2009, 02:11
Имхо, правильнее заменить Math.round на Math.floor!

dimarik
07.01.2009, 03:41
Дима, почему? =)

DarkLight
07.01.2009, 04:27
dimarik, иначе Math.random()*array.length может после округления дать array.length, и мы выйдем за пределы массива тут:
DataXML= index.childNodes[i].attributes["Nname"];

Dima_DPE
07.01.2009, 13:52
dimarik, DarkLight совершенно прав!