v2 コンポーネントと getNextHighestDepth() の相性が悪い

v2 コンポーネントをライブラリに入れた時点で、getNextHighestDepth() が使えなくなる。これは、v2 コンポーネントが使用している DepthManager クラスが、深度 1048575 を予約してしまう為に起こる。従って、getNextHighestDepth() は、1048576 を返してしまうんですね。ActionScript で管理できる深度の範囲は、-16383 ~ 1048575 なので、1048576 に配置された MovieClip は操作の範囲外となるわけです。これでは removeMovieClip もできない。

解決方法としては、

  • swapDepths(1048575) してから removeMovieClip()
  • unloadMovie() を使用する。ただし、インスタンスプロパティとクリップハンドラが残る。
などが有るようです。

removeMovieClip action fails when button component is on stage