この記事の内容は少し自信ないですけど、
一応いろいろやってたしかめたりしてみました。
Flash独特のものなのかどうか、numChildrenについて。
というかChildren全般について良くわかってなかった部分があったので
少し整理。
root、つまりメインタイムラインに直接描画したり、あるいはaddChildなどで
インスタンスを表示リストにを追加すると、
追加した順番に0,1,2、…と順を付けられ、
最初に追加されたインスタンスが「0」となる。
例として、
メインタイムラインに直接、
○、▲、■の順にインスタンスを追加していくと、
※メインタイムラインに記述
this.numChildren では「3」が返され、
this.removeChildAt(0) では、○が消される。
これが、ムービークリップなどの中にインスタンスを入れたときは異なる。
たとえば、
大きく、四角いムービークリップ(mc1とする)の中に、さっきと同じように、
○、▲、■の順にインスタンスを追加する。
ここで、
mc1.numChildren とすると「4」が返され、
mc1.removeChildAt(0) とすると、○▲■は残し、mc1自身が消えてしまう。
つまり、mc1自身もひとつのChildとしてカウントされており、
mc1、○、▲、■の順に0,1,2,3と番号が付けられている。
「○」インスタンスは、「1」になる。
これを知らないと、たとえばスライドショーなど一つの場所に入れ替わりで写真を表示させたいとき、
うまくremoveChildが使いこなせない。
…と、いう推論です。
あってるのかなー?
一応いろいろやってたしかめたりしてみました。
Flash独特のものなのかどうか、numChildrenについて。
というかChildren全般について良くわかってなかった部分があったので
少し整理。
root、つまりメインタイムラインに直接描画したり、あるいはaddChildなどで
インスタンスを表示リストにを追加すると、
追加した順番に0,1,2、…と順を付けられ、
最初に追加されたインスタンスが「0」となる。
例として、
メインタイムラインに直接、
○、▲、■の順にインスタンスを追加していくと、
※メインタイムラインに記述
this.numChildren では「3」が返され、
this.removeChildAt(0) では、○が消される。
これが、ムービークリップなどの中にインスタンスを入れたときは異なる。
たとえば、
大きく、四角いムービークリップ(mc1とする)の中に、さっきと同じように、
○、▲、■の順にインスタンスを追加する。
ここで、
mc1.numChildren とすると「4」が返され、
mc1.removeChildAt(0) とすると、○▲■は残し、mc1自身が消えてしまう。
つまり、mc1自身もひとつのChildとしてカウントされており、
mc1、○、▲、■の順に0,1,2,3と番号が付けられている。
「○」インスタンスは、「1」になる。
これを知らないと、たとえばスライドショーなど一つの場所に入れ替わりで写真を表示させたいとき、
うまくremoveChildが使いこなせない。
…と、いう推論です。
あってるのかなー?