2011-10-23 6 views
1

私はボタンをクリックすると、bottom_sprとtop_sprAS3層の順

層としてのMovieClip表示されを提供するために2つの空スプライトを作成し、あなたがクリック刚性、あなたのマウスを、以下、その位置があります一定。

ボタンをクリックすると、MovieClipを正しいスプライトに追加します。

残念ながら、レイヤーシステムは、レイヤーが配置された順序でレイヤーされているため、動作しません。スプライトは影響を与えていないようです。

これはどのように可能ですか?

private var ground_spr:Sprite; 
private var units_spr:Sprite; 

public function Game() { 
addEventListeners(); 

ground_spr = new Sprite(); 
units_spr= new Sprite(); 

addChild(ground_spr); 
addChild(units_spr); 
} 

private function addEventListeners(){ 
groundBtn.addEventListener(MouseEvent.CLICK, clickGroundBtn); 
unitBtn.addEventListener(MouseEvent.CLICK, clickUnitBtn); 
} 

private function clickGroundBtn(event:MouseEvent){ 
    var ground = new Ground_mc(); 
follow(); 
ground_spr.addChild(ground); 
} 

private function clickUnitBtn(event:MouseEvent){ 
    var unit = new Unit_mc(); 
follow(); 
units_spr.addChild(unit); 
} 
+0

いくつかのコードを記入してください。 – grapefrukt

+0

私はいくつかのコードを追加しました。 – Kris

+0

ああ私はちょっと両方のタイプで同じ機能を呼び出していたので、結局は機能します。 – Kris

答えて

4

あなたの質問は非常に曖昧ですが、私はそれに答えようとします。あなたのオブジェクトを正確に注文する方法を明確にすれば、私はあなたの質問にうまく答えることができます。必要に応じて、深さの処理に抽象レイヤーを追加することもできます。この場合、私は必要性の多くを見ていませんが、私はあなたにできることをいくつか示します。

画面の背面にオブジェクトを追加するには画面の前面にオブジェクトを追加する

this.setChildIndex(objName, 0); 

this.setChildIndex(objName, this.numChildren - 1); 

二つのオブジェクトの深度を交換する:

this.swapChildren(objA, objB); 
//Note this is expecting two DisplayObjects so you may have to do: 
this.swapChildren(objA as DisplayObject, objB as DisplayObject);