PDA

Просмотр полной версии : Переменная из xml


intrdr
08.05.2010, 18:33
Сразу же извиняюсь за банальность вопроса, но самому разобраться не удалось.
Загружаю переменные из xml. И когда это простые переменные, числа или имена или пути куда-нибудь, то всё ok. Но сейчас это не просто переменная, а выражение, которое надо ещё обработать...

Пример. В xml хранится выражение posy ="_root.ground._height - Stage.height".
Подгружаю его из файла:
...
var mainMenuPosY= menu_xml.firstChild.childNodes[i].attributes.posy;
...
Потом присваиваю в переменную:
...
curClip.posY = mainMenuPosY;
...
И, естественно, это воспринимается как текст. :(

А как получить число, результат от _root.ground._height - Stage.height?

in4core
09.05.2010, 03:55
Перевести строку в число.

rainbowrussia
09.05.2010, 05:13
В скриптовых языках для этого обычно есть функция "eval", но
eval can not be used to evaluate arbitrary expressions. According to the Flash 8 documentation, its usage is limited to expressions which represent "the name of a variable, property, object, or movie clip to retrieve"

intrdr
09.05.2010, 16:22
Значит никак?
Решил вопрос с другой стороны, не самым удобным способом.
Но всё равно интересно, есть ли возможность подсчитать результат такого выражения из xml.

in4core
09.05.2010, 16:41
var numb:Number = new Number(StringValue);

parseFloat(string);
parseInt(string);

rainbowrussia
10.05.2010, 00:11
Причем тут parseFloat и parseInt?
Они не вычислят значения строки типа "_root.ground._height - Stage.height".