【问题标题】:AS3 - Can't access properties or methods of a MC child that has been added in scriptAS3 - 无法访问已添加到脚本中的 MC 子项的属性或方法
【发布时间】:2011-02-22 20:39:16
【问题描述】:

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

【问题讨论】:

  • Strong != Loose :) 设计决策...
  • 哦,我明白了,谢谢你的回复。

标签: actionscript-3 addchild


【解决方案1】:

使用方括号。

Trace(Game["I_tile_1_3"].x);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-08
    • 2016-12-05
    • 2014-03-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多