在AS2中将布尔值设置为Eval()变量

时间:2014-05-03 15:21:56

标签: flash eval actionscript-2

我设置了一个布尔值:

austria_clicked = false;

我想访问此值并通过eval函数更改它,因为国家/地区名称将在“for”循环中更改。

eval( country + "_clicked") = true;

但这不起作用,它给了我这个编译错误:

Symbol=Interactive map, layer=actions_mouse, frame=1, Line 63   Left side of assignment operator must be variable or property.

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

尝试使用阵列访问运算符[]

 this[country + "_clicked"] = true;

还有其他一些替代方案(显然是Flash 4的旧方法):

 set(country + "_clicked", true);

或者,不要在赋值运算符(eval())的左侧使用=,这可能是出于安全原因添加的:

 var foo = eval(country + "_clicked"); // eval() is used on the right!
 foo = true;

我从未在AS2中编程(仅限AS3),所以希望这有帮助。在这个blog post中解释得非常好。