我得到了一个简单的计算器脚本,我必须用有效的东西来代替var a = eval(tmp);
。例如var tmp
可以填写4+5
。在普通的JS这应该工作并输出一个9
,但在这里在AS2它不会。 trace(a)
输出undefined
。我应该改变什么,才能使其发挥作用。 有没有类似的命令,像在JS?AS2计算中eval()的最佳替代
这里完整的ActionScript:
认准BtnCalc.onPress = function(){}
var calcArr = new Array();
Btn0.onPress = function() {
calcArr[calcArr.length] = 0;
}
Btn1.onPress = function() {
calcArr[calcArr.length] = 1;
}
Btn2.onPress = function() {
calcArr[calcArr.length] = 2;
}
Btn3.onPress = function() {
calcArr[calcArr.length] = 3;
}
Btn4.onPress = function() {
calcArr[calcArr.length] = 4;
}
Btn5.onPress = function() {
calcArr[calcArr.length] = 5;
}
Btn6.onPress = function() {
calcArr[calcArr.length] = 6;
}
Btn7.onPress = function() {
calcArr[calcArr.length] = 7;
}
Btn8.onPress = function() {
calcArr[calcArr.length] = 8;
}
Btn9.onPress = function() {
calcArr[calcArr.length] = 9;
}
BtnCalc.onPress = function() {
var tmp;
for (var i = 0;i<calcArr.length;i++){
if (i>=1){
tmp = tmp+calcArr[i];
}else{
tmp = calcArr[i];
}
trace(tmp);
}
var a = eval(tmp);
trace(a);
}
BtnAdd.onPress = function() {
calcArr[calcArr.length] = "+";
}
BtnSubtract.onPress = function() {
calcArr[calcArr.length] = "-";
}
BtnMult.onPress = function() {
calcArr[calcArr.length] = "*";
}
BtnDivide.onPress = function() {
calcArr[calcArr.length] = "/";
}
你为什么还在使用actionscript 2? actionscript 3表现得更好 –
对不起,我可以帮你的朋友,但任何adobe产品不再支持Actionscript 2。我可以给你另一种脚本,如果你喜欢动作3 –
,因为我们只在我们学校使用Macromedia Flash 8:/ – Georodin