我遇到了麻煩,試圖動態訪問該符號,我有9個按鈕,都調用此方法,並且它們傳遞到它們的位置(tl,t,tr等)這個方法在另一個程序之前,它沒有問題,但在這個程序中失敗。ActionSctipt 3.0錯誤:
我試圖訪問一個符號調用s_tl(示例位置),但我所得到的是未定義的(查看結果)。
function turn(btn : String):Function {
return function(e:MouseEvent) {
var players_turn : int;
var chosen : String = "s_" + btn;
trace(this);
trace(this[chosen]);
trace(chosen);
trace(this[chosen]);
// if crosses turn 0 else 1
if (s_c.currentFrame == 1) {
players_turn = 0;
} else {
players_turn = 1;
}
// check who's turn it is if it's been pressed before
if (players_turn == 0 && this[chosen].visible == false) {
this[chosen].gotoAndStop(1);
this[chosen].visible = true;
} else {
this[chosen].gotoAndStop(2);
this[chosen].visible = true;
}
};
}
結果:
[object global]
undefined
s_br
undefined
TypeError: Error #1010: A term is undefined and has no properties.
at MethodInfo-6()
我正在追蹤一個新字符串,它是''s_「+ btn',然後會給我我想要訪問的對象的名稱? – Zachary
在我的關鍵幀上,有這些名稱的符號。 s_br是一個符號,我以爲你必須這樣做[s_br]? – Zachary
我不認爲我知道'這'是什麼,我雖然是一個對象,它保存了關鍵幀中的所有對象。如果不是,我如何訪問其中一個對象? – Zachary