如何将变量分配给实例名称?

问题描述:

我在AS3有一个完美的代码,但我有鬃毛重复的方法和功能,它们是相同的,但使用不同的实例名称,所以我想用变量替换实例名称以避免重写太多码。如何将变量分配给实例名称?

这里是我的代码部分:

urb_mc.urb.select(0); 

trace("Urb: " + urb_mc.urb.selectedIndex); 

我想在这种情况下,具有可变取代 “URB” 所以我tryed这一点:

var estado = currentLabel; 
trace("este es mi estado " + estado);// this is ok = "urb" 

//now I need to inset the variable in my code: 

String(estado)+_mc.String(estado).select(0);//thi is so wrong! 

trace("Urb: " + String(estado)+_mc.String(estado).selectedIndex);//thi is so wrong! 

任何想法?

在此先感谢

尝试使用:

this[estado+"_mc"][estado].select(0); 
trace(this[estado+"_mc"][estado].selectedIndex); 

对不起,所有的编辑!

感谢您的挑战!我学到了对象的多维数组运算符。

第2部分

尝试这种情况:

VAR tweenNameArray:数组= [ “NAME1”, “名称2”, “NAME3”]

for (var i:int = 0; i > tweenNameArray.length(); i++){ 
    var myTween:Tween = new Tween(); 
    myTween.name = String("myTween_" + estado + "_in"); // You may want to try .toString(); 
} 

然后参照该补间应工作像这样:

Tween(MovieClip(this.stage.getChildByName("myTween_" + estado + "_in")).whateverMethod(); // Try with and without the MovieClip(). 

我会说对的没有w,不建议这样做。

+0

值得一提的是,特定的代码应该只适用于同一时间线上的儿童。您可能需要相应地更改'this'部分。 – Duke 2012-08-10 04:59:46

+0

好吧,我已经试过了,它第一次运作'这[estado +“_ mc”]',但第二个'.this [estado]'没有。第二个位于第一个 – lilymz 2012-08-10 05:05:34

+0

AHH!好的,我明白了。我将编辑答案@lilmz。 – Duke 2012-08-10 05:20:18