有谁知道如何动态地为NativeText/StageText分配名称,因为我正在尝试构建一个动态界面而不是硬编码它,任何帮助将不胜感激!
您应该保留对动态创建的 StageText 实例的引用,因为您无法通过查询显示列表来获取它(因为它不在显示列表中)。你可以有舞台文本的向量
var m_vStageTextInstances:Vector<StageText>;
然后,您将遍历此向量。
下面是一些示例代码,可以在迭代函数中执行您想要的操作
public class IterationTest extends Sprite {
public function IterationTest() {
createObjects();
iterate();
}
private function createObjects():void {
for (var i:int = 0; i < 1000; i++) {
addChild(new TextField());
addChild(new MovieClip());
}
}
private function iterate():void {
var numTextObjects:int = 0;
for (var i:int = 0; i < this.numChildren; i++) {
var child:DisplayObject = getChildAt(i);
if (child is TextField) {
//do your stuff here
}
}
}
}
如果有人试图使用 NativeText 返回文本值,则使用 StageText 包装器。 他们将需要编辑;
https://github.com/cantrell/StageTextExample/blob/master/src/NativeText.as
添加一个公共获取函数 -
public function get text():String {
return this.st.text;
}
然后你可以正常返回 NativeText 值 -
nt.text