2011-09-20 70 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