递归地获取as3中所有的孩子,孙子等

时间:2011-11-03 18:34:47

标签: actionscript-3 recursion flash-cs4

这是我第一次在动作脚本中使用递归,所以我确信有些东西我没有考虑到。 我正在尝试做的只是遍历阶段孩子并追踪孩子是什么和索引。这是一些代码。

    public function recurseStage(dOC:DisplayObjectContainer)
    {
        var numCh = dOC.numChildren;
        for(var i = 0; i < numCh; i++)
        {
            var child = dOC.getChildAt(i);  
            trace("child: " + child + " at i: " + i);

            if(child.numChildren > 0)
            {
                recurseStage(child);
            }
        }
    }

问题区域似乎是最后的recurseStage()调用。以及之前的if语句。我知道不是所有的孩子都会拥有这家酒店.numChildren但是我不知道该怎么用。这应该是一个简单的解决方案,但我的大脑现在没有帮助我。 如果还有比这更好的方法,请告诉我。提前谢谢。

1 个答案:

答案 0 :(得分:3)

使用
if (child is DisplayObjectContainer && child.numChildren > 0)

而不是

if(child.numChildren > 0)