Что делает set в Actionscript 2?

Я не использовал AS2 раньше, и я должен исправить чей-то код, который был написан на AS2 и использует flash. Вот код AS2:

var evalOpt = eval("option"+optObj);
var evalPlace = eval("_root.placed"+plcObj);
trace(evalOpt);
trace(evalPlace);

set("ans"+plcObj, evalOpt);

Я проследил как evalOpt и evalPlace. evalOpt is

<b>0</b>

и evalPlace это

_level0.placed6

, Что делает функция set() в AS2? Я просмотрел остальную часть его кода и нигде не нашел функцию set().

Примечание: я открыл его во Flash, а сверху написано "AS1 / AS2". Я не знаю, AS1 это или AS2, но я предполагаю, что это AS2.

1 ответ

Решение

В AS2 set() Функция выполняет назначение. Первый параметр - это имя переменной как StringВторой параметр - это значение, которое вы хотите присвоить. Важное замечание о первом параметре заключается в том, что если у вас есть переменная, скажите:

var color:String = "orange"; 

и вы звоните

set(color, "blue"); // will *not* work as intended

тогда переменная color не будет установлен в "синий", вместо новой переменной с именем "orange" будет создан и присвоено значение "синий".

set("color", "blue"); // will work as intended

В вашем примере функция set() назначает любые данные в переменной evalOpt к имени переменной, которая оценивается из "ans"+plcObj

Другие вопросы по тегам