AS3在循环内声明变量的最佳方法

时间:2014-05-14 03:36:39

标签: actionscript-3 variables for-loop

是否可以更好地声明变量而无需逐个编写? 我需要200但是......没办法。

我的代码我有:

var var0:Array = new Array();

var var01:Sprite = new Sprite();
var var02:Sprite = new Sprite();
var var03:Sprite = new Sprite();
etc to 200...

在for循环中:

for( var i:Number = 0; i < arrayBig.length; i++ ){
    var0[i] = new Sprite();
    ...
}

但为什么我不能在评论中写var var0[i]:Sprite = new Sprite();

错误为Error #1086 Syntax error: expecting semicolon before

非常感谢!!

2 个答案:

答案 0 :(得分:2)

您不能索引自变量,也不能将变量名称连接起来形成其他变量的名称(嗯,不是您尝试的方式)。

您需要创建一个Sprite个对象的数组。 array是一种存储多个内容的数据结构。 (一维数组称为vector。)

要将精灵存储在矢量中,您需要写:

var sprites:Vector.<Sprite> = new Vector.<Sprite> ();

for ( var i:int = 0; i < 200; i++ )
{
    sprites.push ( new Sprite () );
}

此循环创建200个Sprite个实例,并将所有实例存储在sprites数组中(实际上,Vector)。然后,您可以通过简单索引来访问各个精灵:

sprites[n]....

如果n总元素数为N-1,则Vector从0变为N

答案 1 :(得分:0)

我会回答你的问题。

“但为什么我不能在语句中写var var0 [i]:Sprite = new Sprite();” 我们不能用类中的另一个对象覆盖一个对象。这就是原因,我们宣称为“var0 [i] = new Sprite();”。在flex中为sprite对象分割case。