ActionScript2.0の深度に関する注意点 : ActionScript2.0
ActionScript2.9(以下AS2)の深度に関するメモ。
ActionScript2.0はムービークリップの重なりを深度で管理しており、大きい深度を持つムービークリップを手前に表示する。
深度とremoveMovieClipメソッド
attachMovieで生成したムービークリップ*はremoveMovieClipで削除する**。 注意する点として深度がマイナスのムービークリップはremoveMovieClipで削除できない。
オーサリング時に配置したムービークリップはマイナスの深度が与えられる。removeMovieClipはattachMovieで生成したムービークリップを削除するメソッドであり、 マイナスの深度を持つ-つまりオーサリング時に配置した-ムービークリップの削除は想定していない。
attachMovieで生成したムービークリップがマイナスの深度を持つ場合はswapDepthsなどを使いプラスの深度を割り当てる必要がある。 最大の深度 + 1を返すメソッドgetNextHighestDepthが用意されている。
しかしFlashコンポーネントを利用するとgetNextHighestDepthの値が1048576になる。スクリプトで深度に設定できる値は-16384から1048575までと決まっているためgetNextHighestDepthで返った値をモービークリップに設定してもremoveMovieClipでは削除できない(深度が変更されていない)。
解決策として利用されることがないであろう大きな数字をswapDepthsに直接記載する。
下記サイトでFlashコンポーネントと深度の関係が分かりやすく解説されている。
»F-site | 意外と使えないMovieClip.getNextHighestDepth()
*attachMovieクリップは引数に深度をとる。
**removeMovieClip : ActionScript2.0
関連記事
- 関連記事は見つかりませんでした。
検索ボックスからの検索もお試しください。
コメント
コメントはまだありません。
コメントの投稿
改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。
トラックバックURL
http://www.findxfine.com/flash/actionscript/995551322.html/trackback