通过根容器搜索找不到所有文本字段?

时间:2012-07-24 16:21:57

标签: actionscript-3 flash

我正在使用一个函数来更新舞台上的文本字段:

private function updateFields(rootContainer:DisplayObjectContainer):void
{
    for(var i=0; i < rootContainer.numChildren; i++) {
        var item:* = rootContainer.getChildAt(i);
        try {
            updateFields(item);
        } catch (e:Error) {
            trace(e.toString());
        }
        if (item.toString() == '[object TextField]') {
            trace(item.name);
        }
    }
}

它找到了一半放在舞台上的文字字段。为什么是这样?让我疯狂。

1 个答案:

答案 0 :(得分:1)

这适合我。

private function updateFields(rootContainer:DisplayObjectContainer):void
{
    for (var i:uint = 0, n:uint = rootContainer.numChildren; i < n; ++i) {
        var item:DisplayObject = rootContainer.getChildAt(i);
        if (item is DisplayObjectContainer) {
            updateFields(DisplayObjectContainer(item));
        } else if (item is TextField) {
            trace(item.name);
        }
    }
}

编辑:已修复DisplayObjectContainer广告