我有:(1)
this["btn_a"].onRelease = function (){
this._parent[up_mc]._visible = true;
this._parent[add_mc].num = random(10)+190;
trace(this._parent);
}
我将其更改为(2)
function click1(){
this._parent[up_mc]._visible = true;
this._parent[add_mc].num = random(10)+190;
trace(this._parent);
}
this["btn_a"].onRelease = function (){
click1();
}
当我单击(1)中的按钮时,它显示'_level9',但当我单击(2)中的按钮时,它显示'undefined'。我对AS2一无所知,所以请帮助我并详细解释。非常感谢你。
答案 0 :(得分:3)
...作用域
在第一个中,您正在调用属于该按钮的函数。 在第二个中,你在一个级别(你的情况:level9)声明一个函数,然后在它所在的位置调用它。
我想。
this["btn_a"].onRelease = function (){
trace(this._parent+" "+this); // traces: _level0 _level0.btn_a
}
function click1(){
trace(this._parent+" "+this); // traces: undefined _level0
}
this["btn_b"].onRelease = function (){
click1();
}