我正在尝试自动初始化和填充多个对象及其相关属性。
基本上我有一个 32x32 的网格,对于网格上的每个位置,我想分配一个具有多个属性的对象,以便以后引用。
一个 32x32 的网格上有 1024 个位置,我真的不想手动编写那么多变量声明。我在一个单独的类文件中设置了数组,它允许我将一个变量分配给一个网格位置:gridPos.put(x, y, object.property);
我还设置了一对 for 循环,它将使用默认的起始数据填充对象。
现在我需要做的是让它为我声明具有唯一名称的对象,然后用起始数据填充它们。这些对象需要可以从代码的其他部分访问(我试图将它们声明为 public var gridPosTile[h] : Object = new Object;但将其声明为“公共”它给了我一个错误,说它“1114:公共属性只能在包内使用。”)
*另外,我知道 [h] 是不对的,但这有点像我在脑海中看到的那样......请照亮我:)
非常感谢
public function gridPosTilePopulate():void
{
var g: int = 40;
var h: int = 1;
for(var i:int = 0; i < 32; i++)
{
var v: int = 40;
g += 40;
for(var q:int = 0; q < 32; q++)
{
var gridPosTile[h] : Object = new Object;
gridPos.put(i, q, gridPosTile[h]);
gridPosTile[h].xPos = (v + 40));
gridPosTile[h].yPos = (g + 40));
gridPosTile[h].p1Set = false);
gridPosTile[h].p2Set = false);
gridPosTile[h].m1Set = false);
gridPosTile[h].m2Set = false);
gridPosTile[h].m3Set = false);
gridPosTile[h].m4Set = false);
gridPosTile[h].coinSet = false);
gridPosTile[h].powerupSet = false);
v += 40;
h++;
}
}
}