讓我們假設你的層次結構看起來像這樣
0: root:MainTimeline ¬
0: Background:Shape
1: textField1:TextField
2: textField2:TextField
3: myClip:MovieClip
4: textField3:TextField
我們在列表中有一些「噪音」,所以對所有這些的直接迭代可能不是最好的方法。我們可以放置一個測試對象名稱或其對象類型的if語句,或者我們可以爲每個這些TextField創建一個手動指針列表。在這種情況下,每個文本字段都可以假設存在於任何嵌套容器中。這取決於你設置的內容。
在你上面給的例子,你從字面上引用所謂的「孩子」的對象,這意味着您的層次結構可能是這樣的......
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
引用(this.parent == parent
),然後下到我們的容器名爲child
,並遍歷其子(注意:我懷疑這不是這種情況,並且其失敗的部分原因)。
for (var i:int = 0; i < parent.child.numChildren; i++) {
var txt:TextField = parent.child.getChildAt(i);
txt.text = stringArray[i];
}
你有當您執行或僅不起作用的錯誤:
假設同一層次,我可能會這樣重寫一遍? –