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

时间:2012-08-10 04:34:25

标签: actionscript-3

我在AS3中有一个完美的代码,但我有重复的方法和函数,它们是相同但使用不同的实例名称,所以我想用变量替换实例名称以避免重写很多代码。

这是我的代码的一部分:

urb_mc.urb.select(0);

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

我想在这种情况下用变量替换“urb”,所以我尝试了这个:

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!

有什么想法吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试使用:

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

抱歉所有的修改!

感谢您的挑战!我了解到存在对象的多维数组运算符这样的事情。

第2部分

试试这个:

var tweenNameArray:Array = [“Name1”,“Name2”,“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().

我现在就说,不建议这样做。