另一天另一個問題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