2014-04-21 71 views
0

我必須使用循環來控制另一個剪輯AS2的循環代碼沒有工作

這是工作

sub_btn1.onRelease=function(){ title1.gotoAndStop(1);} 

所以我儘量下面的代碼

for (var i=1; i<=9; i++) {this[ "sub_btn" + i ].onRelease=function(){ 
    this["title"+i].gotoAndStop(i); }} 

但這[「標題」 +我] .gotoAndStop(我)不工作!

任何人都可以幫我解決這個問題嗎?

非常感謝!

+0

我的AS2很朦朧,但是如果它在工作代碼中是「onRelease.function()」,爲什麼要在for循環中將其更改爲「onRelease = function()」? – Frankenscarf

+0

對不起! 「onRelease.function()」是錯誤的,我已經修改它。 – johnny

回答

0

你的問題是在瞭解什麼this是指。

您正在運行的事件處理函數是指此事件的目標對象。所以對於 sub_btn1.onRelease=function(){}this裏面{}給你參考sub_btn1。 很明顯,你的[「標題」+ i]不在您發佈的按鈕中。所以把它改爲正確的對象(如果位於標題的按鈕將是this._parent["title"+i].gotoAndStop(i););