"z"を変更するといい試しでしたが、何もしません。
実際、すべてのムービークリップは特定の順序でスタックされています。描かれているときは、新しいものでグラフィックをカバーする画家のように、その順序で行われます。 "z"値を変更すると、そのムービークリップの認識された深度が変更されますが、ムービークリップの描画順序は変更されません。あなたのスプライトがすべてのムービークリップの上にあるので、 "z"を変更してもスプライトは常に最後に描画されます。
「レイヤー」は、ActionScriptの操作時には実際には存在しません。これは、Flash Professionalのみで使用可能な概念です。結局、Flash ProfessionalはaddChild()リクエストでそのレイヤを変換します。
したがって、新しいムービークリップをaddChildAt()メソッドで配置することができます。インデックス値が0の場合、新しいムービークリップは上部以外のすべてのムービークリップの下に描画されます。
「getChildIndex(reference)」でインデックスを取得できるように、リファレンスのムービークリップのインデックスを見つける必要があります(Flash Professionalでインスタンス名を「reference」にするなど)。次に、新しいムービークリップをaddChildAt()でこのインデックスの上または下に設定できます。参照のムービークリップと同じインデックスを設定すると、そのインデックスの下になります。
別の方法として、Flash Professionalのレイヤーで設定した一種のダミームービークリップ(ダミー)を作成し、このダミームービークリップ内に新しいムービークリップを「dummy.addChild( )」。
複数のグラフィックスを1つの "レイヤー"でActionScriptを使用して再グループ化して、addChildAt()で表示リスト内のグループを簡単に上下に移動したい場合は、それらをSpriteオブジェクトに追加してからスプライトを移動できます。
私の場合、 'Game' MCは3つのレイヤーを持ち、最初のレイヤーにはpngビットマップオブジェクトがあり、2つ目のレイヤーにはレイアウト用の複数のpngビットマップオブジェクトがあり、3つ目のレイヤーにはいくつかのテキストフィールドオブジェクトがあります。レイヤー上のものはどれもMCなので、addChildAt(スプライト、0)を使ってスプライトをバックグラウンドレイヤーに置くことはできますか? (レイアウトレイヤのものの下に) – LoveMeSomeCode
OK、そうです。純粋な画像を扱うときは、Flash Proが内部的に管理するため、インスタンス名を与えることができないため、子インデックスを簡単に取得できません。とにかく、addChildAt(スプライト、0)を配置することができますが、バックグラウンドの背後になります。 addChildAt(スプライト、1)を使うとスプライトをバックグラウンドの前に置く方が良いかもしれません。ただし、Flash ProでRaw画像がマージされることがあることを知っておく必要があります。回避策は、MovieClipの画像を変換することです。他のMovieClipと同様に、実際の子インデックスを持ちます。 –
ええ、私は後ろに描きたいレイアウトの部分をMCに変換しました。インデックスは1になり、背景とその他のレイアウトのbmpsはインデックス0になります。インデックス1にスプライトを描画すると、動作するように見え、レイアウトmcはマスクとして機能します。ありがとう! – LoveMeSomeCode