Массив s и циклы - это ответ.
Вы можете сначала перечислить все объекты и получить к ним доступ через Массив :
var aList:Array = [thing1, thing2, thing3, thing4];
var aThing:DisplayObject;
for each (aThing in aList)
{
aThing.alpha = 0.5;
}
Вы можете получить доступ к объектам в контейнере, если знаете, как создать их имена:
for (var i:int = 1; i <= 4; i++)
{
var aName:String = "thing" + i;
var aThing:DisplayObject = getChildByName(aName);
aThing.alpha = 0.5;
}
UDP: Обычно я не поощряю это из-за определенных последствий (и я все еще думаю,что придерживаться списка вперед или использования getChildByName (...) - это более надежные подходы в этом же порядке), но в любом случае.Вы также можете обращаться к вложенным объектам через квадратные скобки, но это работает только на:
- изначально разработанных объектах с Файл> Параметры публикации> Настройки AS3> Автоматически объявить инстансы сцены . ON (по умолчанию это ON , но в любом случае это полезно знать);
- объекты, добавленные во время выполнения, которые вы явно назначили в качестве членовданный контейнер с теми же именами, что и собственные имена экземпляров объектов.
Кроме того, я действительно советую прочитать мой ответ здесь , он подробно освещает тему адресации.
for (var i:int = 1; i <= 4; i++)
{
var aName:String = "thing" + i;
var aThing:MovieClip = this[aName];
aThing.alpha = 0.5;
}