如何将变量分配给实例名称?
问题描述:
我在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,不建议这样做。
值得一提的是,特定的代码应该只适用于同一时间线上的儿童。您可能需要相应地更改'this'部分。 – Duke 2012-08-10 04:59:46
好吧,我已经试过了,它第一次运作'这[estado +“_ mc”]',但第二个'.this [estado]'没有。第二个位于第一个 – lilymz 2012-08-10 05:05:34
AHH!好的,我明白了。我将编辑答案@lilmz。 – Duke 2012-08-10 05:20:18