Простая проблема AS2 - PullRequest
3 голосов
/ 15 июня 2009

у меня есть: (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), отображается «неопределенный». Я ничего не знаю об AS2, поэтому, пожалуйста, помогите мне и объясните в деталях. Большое спасибо.

1 Ответ

3 голосов
/ 15 июня 2009

обзорное ....

в первом вы вызываете функцию, которая принадлежит кнопке. во втором вы объявляете функцию на уровне (ваш случай: 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();
}
...