0

你能用一个

for(x:int=0; x<100; x++)
{
    var varname+x:Type = (x, something, something); 
}

创造一百个独特的变量?基本上我需要制作 100 个变量,并且想知道如何创建 100 个大桶而不使用手动声明它们。问题是varwhat+x只是用whatever+x创建了一个变量,而不是创建whatever0、whatever1...到whatever99。如果有帮助,这适用于 flash 和 box2d。

谢谢,安德鲁

4

1 回答 1

1

是的,试试这个:

var holder:Object = {};

var i:uint = 0;
for(i; i<100; i++)
{
    holder["varname"+i] = i*2;
}

trace(holder.varname34); //output: 68

如果您创建一个类dynamic,那么您可以以相同的方式为其分配新属性,即:

package
{
    public dynamic class UniqueVarHolder extends Object
    {
        public function UniqueVarHolder()
        {
            var i:uint = 0;
            for(i; i<100; i++)
                this["myvariable"+i] = i*2;
        }
    }
}

执行:

var holder:UniqueVarHolder = new UniqueVarHolder();
trace(holder.myvariable10); //output: 20

显然,您可以将任何您喜欢的东西分配给这些变量。

我很好奇您为什么要这样做,您可以创建一个Array来存储 100 多个值而不将它们分配给变量。

于 2011-06-09T09:39:14.507 回答