我在 AS3 还是有点初学者,所以请多多包涵。
我创建了一个循环来实例化板上的图块。在以下示例中,“Gametiles”是一个包含“Tile”类对象的数组,“Tile”类是一个扩展 MovieClip 的类。《游戏》是我在flash开发环境中添加到舞台的MC。
for(var i:uint=0;i < Gametiles.length;i++){
var pulledTile = Gametiles[i];
var tilename:String = "I_Tile_" + pulledTile.grid_y + "_" + pulledTile.grid_x;
var createdTile = new InteractiveTile();
pulledTile.addAnims(createdTile);
Game.addChildAt(pulledTile, 0);
Game.getChildAt(0).name = tilename;
}
上面的代码有效——但有一个棘手的问题。如果我做了类似以下的事情:
trace(Game.I_Tile_1_3.x);
我收到“TypeError:错误 #1010:术语未定义且没有属性。” 但是,我可以通过以下方式访问这些孩子:
var testing = Game.getChildByName("I_Tile_1_3")
trace(testing.x);
这种方法虽然有点麻烦。我真的不想在每次想与这些属性或方法交互时都创建一个 var 并调用 getChildByName。如何设置这些孩子,以便我可以直接访问它们而无需额外的步骤?