2

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

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);
        }
    }
}

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

4

1 回答 1

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铸造

于 2012-07-24T16:28:37.233 回答