我得到了一個簡單的計算器腳本,我必須用有效的東西來代替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