错误2006年提供的索引超出界限

时间:2011-04-08 10:46:35

标签: actionscript-3 error-handling flash-cs5

另一天不幸的是另一个问题 - 这段代码的最后一行是罪魁祸首:

                    uiBar = new mcUiBar();
        uiBar.x=-15;
        uiBar.y=-5;
        addChildAt(uiBar, numChildren-1);

现在我研究了所以我知道它有一些东西比数组大于任何东西,但我不知道它。我很难过。我很感激你的帮助。干杯

2 个答案:

答案 0 :(得分:4)

超出范围错误基本上是说您为索引提供的值是显示对象容器中索引数组的“超出范围”。可接受的范围是从0n+1,其中n是最顶层的子索引。另一种说法是0numChildren。所以George是对的,numChildren - 1 = -1时你会遇到问题。

如果您尝试将子项添加到 next-to-top 图层,请使用上面的if语句。但是,如果您只是尝试将其添加到顶层,则应使用同义词addChildAt(child, numChildren)addChild(child)

答案 1 :(得分:1)

代码太少,但最后一行: addChildAt(uiBar, numChildren-1);似乎是个问题。

如果尚未添加子项(numChildren为0)会发生什么? 这应该抛出一个错误,因为你试图在深度/索引-1

添加uiBar

尝试addChildAt(uiBar, numChildren > 0 ? numChildren-1 : 0);