深度について
深度とは?
ムービークリップの深度を変更したい
ムービークリップの深度を取得したい(Flash 6 以降)
深度にあるムービークリップを調べたい(Flash 7 以降)
最前面となる深度を取得したい(Flash 7 以降)
ムービークリップの深度を変更したい
ムービークリップの深度を取得したい(Flash 6 以降)
深度にあるムービークリップを調べたい(Flash 7 以降)
最前面となる深度を取得したい(Flash 7 以降)
深度とは?
■深度とは?
深度とは、インスタンスの重なり順序のことです。深度の値が大きいほど手前に表示され、小さいほど奥に表示されます。
■静的に配置したムービークリップの深度を変更した場合
タイムラインに静的に配置されているムービークリップの深度は、マイナス値のどこかに自動的に割り振られています。
静的なムービークリップの深度を変更するとタイムラインの命令処理から切り離されるので、配置したフレームの終端を過ぎても ムービークリップが破棄されなくなり画面に残り続けます。
深度を変更したムービークリップを破棄したい場合は、親のムービークリップが消滅するのを待つか、removeMovieClip() メソッドを使ってムービークリップを破棄します。
静的なムービークリップの深度を変更するとタイムラインの命令処理から切り離されるので、配置したフレームの終端を過ぎても ムービークリップが破棄されなくなり画面に残り続けます。
深度を変更したムービークリップを破棄したい場合は、親のムービークリップが消滅するのを待つか、removeMovieClip() メソッドを使ってムービークリップを破棄します。
ムービークリップ "mc" を破棄する (深度が 0 以上の場合)
mc.removeMovieClip();
深度を変更したい
サンプルをダウンロード
■深度を変更する
深度を変更するには、swapDepths() メソッドを使用します。
引数にムービークリップのターゲットを入れるとそのムービークリップとの順序が入れ替わります。
引数に数値を入れると、その深度に移動します。その深度にすでにムービークリップが存在している場合は、そのムービークリップと順序が入れ替わります。
深度の指定できる範囲は、-16384 から 1048575 までです。
引数に数値を入れると、その深度に移動します。その深度にすでにムービークリップが存在している場合は、そのムービークリップと順序が入れ替わります。
深度の指定できる範囲は、-16384 から 1048575 までです。
|
ムービークリップ.swapDepths ( ターゲット又は数値 ); | ||||
|
ムービークリップ "a" とムービークリップ "b" の順序を入れ替える。
a.swapDepths( b );
ムービークリップ "a" の深度を 10 に変更する。
a.swapDepths( 10 );
ムービークリップの深度を取得したい(Flash 6 以降)
サンプルをダウンロード
■ムービークリップの深度を取得する
深度を調べるには、getDepth() メソッドを使用します。
ムービークリップ "mc" の深度を調べる
trace(mc.getDepth());
深度にあるムービークリップを調べたい(Flash 7 以降)
■深度にあるムービークリップを取得する
指定したムービークリップと深度にインスタンスが存在するかを調べるには、getInstanceAtDepth() メソッドを使用します。引数に深度を指定します。
その深度にインスタンスがあれば、インスタンスの参照が返ります。何も無ければ undefined が返ります。
その深度にインスタンスがあれば、インスタンスの参照が返ります。何も無ければ undefined が返ります。
_root に 深度 50 のインスタンスが存在するか調べる
trace(_root.getInstanceAtDepth(50));
最前面となる深度を取得したい(Flsh 7 以降)
サンプルをダウンロード
■最前面となる深度を取得する
指定したムービークリップの最全面となる深度を調べるには、getNextHighestDepth() メソッドを使用します。
指定したムービークリップ内で、『 一番手前に存在するインスタンス 』の深度に + 1 した値が返ります。
指定したムービークリップ内で、『 一番手前に存在するインスタンス 』の深度に + 1 した値が返ります。
_root 上で最前面となる深度を調べる。
trace(_root.getNextHighestDepth());

