1

我在 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。如何设置这些孩子,以便我可以直接访问它们而无需额外的步骤?

4

1 回答 1

0

使用方括号。

Trace(Game["I_tile_1_3"].x);
于 2010-04-26T10:53:31.533 回答