removeMovieClipの罠


インスタンスへの参照はとれているのに、
removeMovieClip()で削除できない場合が発生することがある

原因は深度

flashには深度がある、数値の範囲は-16384([-2^14]) 〜 11048575([-1 + 2^20])だ、、のはず!
この範囲をオーバーしてしまったインスタンスはremoveMovieClip()で削除できないというバグがある、仕様か?

罠にはまるパターン

getNextHighestDepth()を使うことがあると思います、
これを何回も使うといずれ深度の値の限界値を超えます。
そうなってしまうとインスタンスをremoveMovieClip()できなくなります。

AS3だと起こらないことが起こるAS2はステキだねちくしょー

サンプル

var hoge_mc: MovieClip = this.createEmptyMovieClip("hoge", 11048576);
hoge_mc.removeMovieClip(); // 消えない