Давайте предположим, что ваша иерархия выглядит следующим образом
0: root:MainTimeline ¬
0: Background:Shape
1: textField1:TextField
2: textField2:TextField
3: myClip:MovieClip
4: textField3:TextField
У нас есть некоторый «шум» в списке, поэтому простая итерация по всем этим может быть не лучшим образом. Мы могли бы и поместить оператор if, который проверяет имя объекта или его тип объекта, или мы могли бы создать ручной список указателей для каждого из этих текстовых полей. В этом сценарии каждое текстовое поле может гипотетически существовать в любом вложенном контейнере. Это зависит от того, что вы создали.
В примере вы дали выше, вы ссылку объект буквально называется «ребенок», что будет означать вашу иерархию может выглядеть следующим образом ...
0: root:MainTimeline ¬
0: child:MovieClip ¬
0: textField1:TextField
1: textField2:TextField
2: textField3:TextField
1: myClip:MovieClip // <- assuming that this is the class your code is coming from
Таким образом, логика у вас есть то, что мы поднимаемся на уровень с неявной ссылкой this
(), а затем вниз к нашему контейнеру с именем child
и повторяем его дочерние элементы (примечание: я подозреваю, что это не тот случай, и часть причины его сбоя).
Предполагая ту же иерархию, я мог бы переписать это так:
for (var i:int = 0; i < parent.child.numChildren; i++) {
var txt:TextField = parent.child.getChildAt(i);
txt.text = stringArray[i];
}
У вас есть ошибка при выполнении этого или только не работают? –