我在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!
有什么想法吗?
提前致谢
答案 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().
我现在就说,不建议这样做。