2011-11-02 4 views
0

配列にmcの一部が格納されています。私はmcをステージに置いています。私がそれらの1つをクリックすると、これは前景に、そして他のものは背景にあるべきです。 括弧はどのようにすればいいですか?ムービークリップの子孫ActionScript 3

は、あなたのMCの全てが同一の容器、すなわち、別のムービークリップ/スプライトである場合は、「MCをクリック」または単にに追加の子のインデックスを更新することができますいずれかのお時間を

+0

あなたの最後の7つの質問を見て、私はちょうどあなたが作ろうとしているアプリケーションを構築し、あなたにそれを与えるのに十分な情報のように感じる...これを達成するために今まで何のコードを試しましたか? –

+0

:))私は4週間前にAS3を学び始めたので、AS3の知識を向上させるためだけにパズルゲームを作りたいと思っています。 私は、すべてのパズルピースがホールの画像よりも正しい順序で表示されている場合のように、子育てとゲームソリューションを作成する必要があります。 私を助けることができますか? ありがとう – CMS

答えて

1

をありがとう再びコンテナ。

これはあなたのクリックハンドラのようになります。

function clickHandler(e:MouseEvent):void { 
    //addChild puts the target clip on the top of the display list 
    e.target.parent.addChild(e.target); 
} 

むしろe.target.parentを使用するよりも(container.addChildのように())そのインスタンス名でコンテナを参照するためにきれいになります。 "e.target"を使用する場合は、MCの 'mouseChildren'プロパティが 'false'であることを確認してください。

クリックしたMCの子のインデックスを設定する場合は、あなたがこのようなものだろう:再び

function clickHandler(e:MouseEvent):void { 
    // setting the child index to 0 puts the MC at the top of the list 
    container.setChildIndex(e.target, 0); 
} 

、あなたが「e.target」を使用するすべての時間「をmouseChildrenが」偽かであることを確認してくださいそれ以外の場合、マウスのフォーカスは実際にあなたの「クリックされたMC」内の表示オブジェクトをクリックすることができます。

+0

また、あなたのケースでは、「コンテナ」は「ステージ」になります。これらを別のMovieClipまたはSpriteに入れ、そのコンテナをステージに追加することをお勧めします。この方法で、ステージに他の要素を追加して、コンテナ内のMCに集中できます。 – Corey

+0

とても素敵です! 子育てを取り除く方法を教えていただけますか? – CMS

+0

「子育てを取り除く」とはどういう意味ですか?親を削除する方法はありません。あなたは子供だけを取り除くことができます。 'removeChild'メソッドは 'parent'プロパティを 'null'に設定します。 – Corey

関連する問題