在as3中,我有以下代码:
var index1
var index2
var num1, num2, num3;
num1 = 1;
num2 = 1;
var nombres:Array = new Array(
"Ana", "Pedro", "María", "Lily", "Juan", "Rita", "Gonzalo", "Fernanda"
);
var ejercicios_Suma: Array = new Array(
num1+", "+num2+" name:"+nombres[1]
);
dialog();
function dialog (){
num1 = 25
num2 = 26
trace ("********** "+num1+"***** "+num2)
trace (ejercicios_Suma[0])
}
我不知道如何调用对话框函数中生成的"num1",因为该变量已被代码外的变量替换。
有什么建议/解决方案吗?
提前谢谢。
-----编辑如下,以更好地解释问题----
现在的跟踪结果是:***25***261,1名称:Pedro
我需要的是:***25***2625,26姓名:Pedro<---这些是对话框函数中生成的值,而不是函数外声明的值。
在这一行中,
var ejercicios_Suma: Array = new Array(num1 + ", " + num2 + " name:" + nombres[1]);
您创建的数组只有一个元素,即值为(num1 + ", " + num2 + " name:" + nombres[1])
的字符串。在创建该字符串时,num1和num2等于1。因此,数组恰好等于["1, 1, name:Pedro"]
。
即使返回并编辑num1和num2,在该数组中创建的字符串也不会更新。
我根本不知道你想用这段代码完成什么,所以很难说如何修复代码。但是,这应该可以解释你为什么看到你所看到的。