表示オブジェクト(SpriteやMovieClipなどなど)をDisplayObjectContainer
へインデックスを指定して追加する関数addChildAt
のメモ。
DisplayObjectContainer
上に存在するインデックスかインデックス+1を指定しないと、エラーになります。
RangeError: Error #2006: 指定したインデックスが境界外です。
リファレンスを見てもこのことは明確に書かれていません。(見つけられなかったかも)
http://help.adobe.com/ja_JP/Flash/CS5/AS3LR/flash/display/DisplayObjectContainer.html?allClasses=1#addChildAt()
絶対上書きされないようにと、インデックスを9999などにすることはでき無いことになります。
表示オブジェクトの追加はaddChild
で行い、重なり順をコントロールする時はaddChildAt
を使うような自分ルールがいるのかもしれません。
DisplayObjectContainer
は表示オブジェクト(Child
)をVector
のように飛びインデックスを許さないように管理してるのでしょう。
その方がメモリにも優しいし。
理由は理解できます。
Google先生に聞いたらたくさんヒットしそうなお話でした。