AS3 - Не удается получить доступ к свойствам или методам дочернего элемента MC, который был добавлен в сценарий - PullRequest
1 голос
/ 24 апреля 2010

Я все еще новичок в AS3, поэтому терпите меня, пожалуйста.

Я создал цикл для создания экземпляров плиток на доске. В следующем примере «Gametiles» - это массив, содержащий объекты класса «Tile», который является классом, расширяющим MovieClip. «Игра» - это 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);

Я получаю «Ошибка типа: Ошибка # 1010: термин не определен и не имеет свойств». Однако я могу получить доступ к этим детям следующим образом:

var testing = Game.getChildByName("I_Tile_1_3")
trace(testing.x);

Хотя этот метод немного громоздок. Я действительно не хочу создавать var и вызывать getChildByName каждый раз, когда я хочу взаимодействовать с этими свойствами или методами. Как я могу настроить этих детей так, чтобы я мог получить к ним прямой доступ без дополнительных действий?

1 Ответ

0 голосов
/ 26 апреля 2010

используйте квадратные скобки.

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