2016-03-18 7 views
0

ステージの子であるオブジェクトの子の表示をステージの上に設定できますか?AS3 - 親の上にレイヤーを設定するオブジェクト

たとえば、Overworldがステージの子であり、PlayerCharacterもステージの子である場合、PlayerキャラクターはOverworldの一部、例えばTreesの後ろを歩くことができますか?

+0

これはできません。表示深度を制御する唯一の方法は、表示リストの順序を調整することです。あなたは常に、すべてのオブジェクトを同じ親に配置し、独自のソートアルゴリズムを使用して、時間の経過とともに深さの外観を制御します。 – Aaron

答えて

0

あなたは使用することができます:オブジェクトの

parent.setChildIndex(Overworld, 1) 
parent.setChildIndex(PlayerCharacter , 2) 

深さ(Zオーダー)であれば、私はレイヤーを使用することをお勧め定数です。あなたのステージに3つのスプライトを追加する。背景、ゲームオブジェクト、フォアグラウンドなど。多くの問題を救う。

public Sprite foregroundLayer = new Sprite(); 
public Sprite objectLayer = new Sprite(); 
public Sprite backgroundLayer = new Sprite(); 

あなたのゲームの初期化の段階で、希望の順序で追加します。

+0

私もこれについて考えましたが、これの問題は、フォアグランドにあるべき部分が自動的にプレイヤーの背後にあるレイヤー上にあるOverworldに動的に配置されることです。例えば、Overworldに置かれた木は、2つの部分、すなわち、プレーヤーが前にあることができる底部部分と、プレーヤーの前にある上部部分とを有する。だから、私はこれが、木の頂部を底から分離する完全なものなしでは機能しないと思う。しかし、私はこの機能を非常に多くのフラッシュゲームで見ることができます。そのための解決策が必要です。また、なぜ "親"ですか?setChild? – uncanny

関連する問題