Flash 此[“instancename”语法

Flash 此[“instancename”语法,flash,actionscript-3,Flash,Actionscript 3,我看到我的同事经常使用这种可怕的语法: var mc1: MovieClip; var mc2: MovieClip; var mc3: MovieClip; var mc4: MovieClip; var mc5: MovieClip; for (var i:int = 1; i <= 5; i++) { addChild(this["mc" + i]); // UURRGGHHH TweenLite.to(this["mc"+i], 1, {alpha: 0}); //

我看到我的同事经常使用这种可怕的语法:

var mc1: MovieClip;
var mc2: MovieClip;
var mc3: MovieClip;
var mc4: MovieClip;
var mc5: MovieClip;

for (var i:int = 1; i <= 5; i++) { 
   addChild(this["mc" + i]); // UURRGGHHH
   TweenLite.to(this["mc"+i], 1, {alpha: 0}); // FNNNGGGGGHHHH
}
var mc1:MovieClip;
var-mc2:MovieClip;
var-mc3:MovieClip;
var-mc4:MovieClip;
var-mc5:MovieClip;
对于(变量i:int=1;i
  • 使用数组可以很容易地添加另一项。您不必声明新变量
  • 添加另一项时,无需修改
    for
    循环的限制
  • 如果需要,您只能重命名一个变量
  • 当你可以通过一个语义上有用的定义来识别事物集合时,它可以帮助你以富有成效的方式进行思考
类型安全

方括号语法不会产生一个合适的类型,这样编译器就可以在编译时检查问题。对于那些遇到类型问题导致的运行时异常的人,我毫不怜悯


说真的,AS3中的类型系统存在是有原因的。使用它。不要想办法解决它。它可以防止问题。

事实:今天下午我只是使用了类似的方法

但是,以下方式可能满足“他们”的期望:

var-mcs:Array=[mc1、mc2、mc3、mc4、mc5]


对于(var i:int=1;我将在这里与您争论,并说您不应该使用数组,但向量,是的,我同意。易读性也是。+1用于提出关于宠物仇恨的问题:)由于在CS3上使用了这么长时间,我从未接触过向量。现在我正在使用CS5,我将看一看它们。+1是为了引起我的注意。向量更好,因为您添加了类型安全性,并且因为迭代速度更快。