是否可以更好地声明变量而无需逐个编写? 我需要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
非常感谢!!
答案 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。