2011-09-20 69 views
0

我有我認爲應該是一個非常簡單的問題。我有一個數組,並且可以像這樣訪問它的一個元素:將數組項引用到AS3中的MovieClip

var test = finalArray[0]; 

//將是數字1和7

之間說這將跟蹤一個數字。

不,在舞臺的根部有一個名字是字母的電影片段(總是相同的,比如說「R」)以及任何數字。我試圖讓這個movieclip gotoAndStop在相應的測試編號框架。然而,這是行不通的:

"R"+[test as MovieClip.gotoAndStop(test)]; 

我在做什麼錯在鑄造這裏? 非常感謝

+0

非常感謝您的回覆,我可以看到我正在進行不正確的投射,但我應該更清楚,舞臺上的動畫片段可以是7中的一個,所以它的名稱可以是「R7」或「R2」等。 ,所以我必須在嘗試gotoAndStop之前以某種方式將測試值附加到R,如果這有意義的話? 非常感謝 – asdoc

回答

0

鑄造應該這樣做:

(R as MovieClip).gotoAndStop(test); 

或可能:

(this["R"] as MovieClip).gotoAndStop(test); 

取決於如何創建 「R」。

1

"R"+test是你剪輯的名稱,所以你必須使用getChildByName

var myMovieClip:MovieClip = this.getChildByName("R" + test.toString()) as MovieClip; 
myMovieClip.gotoAndStop(test); 
+0

感謝這一切都很有幫助 – asdoc

0

如果你的影片剪輯的名字是財產以後像 「R3」

// as3 
stage["R"+test].gotoAndStop(test); 
// as2 
_root["R"+test].gotoAndStop(test); 

如果你的影片剪輯名稱爲「R 「

// as3 
stage["R"].gotoAndStop(test); 
// as2 
_root["R"].gotoAndStop(test); 

但是從子視圖調用stage或root不是b解決問題的最佳途徑。更好地使用eventlisteners。

+0

很酷,謝謝,是的我知道你的意思是使用監聽器作爲解決方案,感謝您的幫助 – asdoc