另一天另一个问题unfortunately-这段代码的最后一行是罪魁祸首:错误2006年提供的索引超出范围
uiBar = new mcUiBar();
uiBar.x=-15;
uiBar.y=-5;
addChildAt(uiBar, numChildren-1);
现在我研究,所以我知道它有什么用的阵列比任何东西都大,但我没有搞清楚。我很难过。我很感谢你的帮助。干杯
另一天另一个问题unfortunately-这段代码的最后一行是罪魁祸首:错误2006年提供的索引超出范围
uiBar = new mcUiBar();
uiBar.x=-15;
uiBar.y=-5;
addChildAt(uiBar, numChildren-1);
现在我研究,所以我知道它有什么用的阵列比任何东西都大,但我没有搞清楚。我很难过。我很感谢你的帮助。干杯
的超出范围的错误那应该抛出一个错误基本上是说,你提供的索引值“超出范围“的显示对象容器中的索引数组。可接受的范围是从0
到n+1
,其中n是最高的儿童指数。另一种说法是0
到numChildren
。所以乔治是对的,你会遇到问题numChildren - 1 = -1
。
如果您要将子项添加到下一个图层图层中,请使用上面的if语句。但是,如果您只是想将其添加到顶层,则应使用addChildAt(child, numChildren)
或addChild(child)
这些是同义词。
代码太少,但最后一行: addChildAt(uiBar, numChildren-1);
似乎是问题所在。
如果还没有添加子项会发生什么情况(numChildren为0)? 因为你想在深度/指数加uiBar -1
尝试addChildAt(uiBar, numChildren > 0 ? numChildren-1 : 0);
Flash CS5喜欢你的代码!在我解决了这个问题之后(我认为我用上面的代码解决了这个问题),我得到了错误,它根本不喜欢if语句并且不得不删除它,但是你持续地努力解决这个Index Out Bounds错误。干杯x现在我必须清除这个1009错误lol – londonbird 2011-04-08 11:32:28
奇怪的...?只是一个紧凑的if/else。 Goodluck与1009(hunch:检查null实例)!另外,你可能会发现这个网站很方便:http://www.actionscripterrors.com/(http://www.actionscripterrors.com/?s=1009&searchsubmit=Find) – 2011-04-08 11:35:59
@londonbird addChildAt(uiBar,numChildren> 0?numChildren- 1:0);在显示列表的顶部添加uiBar,与addChild(uiBar)相同。为什么在这种情况下需要addChildAt()? – 2011-04-08 21:16:44
是Mims ...感谢您的澄清。我是新来的所有这btw ...并感谢您分享您的知识!我也学习Java,但我更喜欢动作3.0大声笑。 – londonbird 2011-04-12 02:39:46