将数组项目转换为引用AS3中的MovieClip

时间:2011-09-20 14:09:33

标签: flash actionscript-3 casting

我认为应该是一个非常简单的问题。我有一个数组,可以像这样访问它的一个元素:

var test = finalArray[0];

//将是1到7之间的数字

说这会跟踪一个数字。

没有在舞台的根目录上有一个动画片段,其名称是一个字母(总是相同,比如“R”),无论数字是多少。我正在尝试将此动画片段放到与测试编号对应的帧的gotoAndStop上。但是这不起作用:

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

关于在这里施法,我做错了什么? 非常感谢

3 个答案:

答案 0 :(得分:1)

"R"+test是剪辑的名称,因此您必须使用getChildByName

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

答案 1 :(得分:0)

演员应该这样做:

(R as MovieClip).gotoAndStop(test);

或可能:

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

取决于“R”的创建方式。

答案 2 :(得分:0)

如果您的动画片段名称类似于“R3”

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

如果您的movieclip名称为“R”

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

但是从子视图调用stage或root不是解决问题的最佳方法。更好地使用eventlisteners。