2017-04-13 10 views
0

私はアクションスクリプト3.0を使用して簡単な等角都市ビルダーを作成しています。 コンセプトは帝国の時代のようなものなので、ボタンを押すと形状が作成され、ステージ上を再びクリックするまでカーソルがたどり着くので、家が配置されます。 しかし、私はそれらの間にもっと家が衝突したときに視覚化の順序にいくつかの問題を抱えています。アクションスクリプト3.0の可視化順序を操作する

答えて

0

新しい項目が追加されたときにスプライトを前後に並べ替えたい場合は、これを行うサンプルコードを次に示します。

private function sortItems():void 
{ 
    var sprites:Array = []; 
    for (var i:int = 0; i < map.numChildren; ++i) { 
     var c:DisplayObject = map.getChildAt(i); 
     sprites.push(c); 
    } 

    sortSprites(sprites); 
} 

private function sortSprites(sprites:Array):void 
{ 
    sprites.sort(sortCompare); 

    var index:int = 0; 
    for (var j:int = 0; j < sprites.length; j++) { 
     index = map.getChildIndex(sprites[j]); 
     if (index != j) 
      map.setChildIndex(sprites[j], j); 
    } 
} 

private function sortCompare(a:DisplayObject, b:DisplayObject):int 
{ 
    return ((a.y + a.height) - (b.y + b.height)); 
} 
+0

それは言う:1120:未定義のプロパティマップのアクセス。 var c:DisplayObject = map.getChildAt(i); – GianLuke94

+0

私は以前このプロパティを使用していませんでした。マッププロパティは何を説明できますか?Adobe cs3を使用しています – GianLuke94

+0

'map'は私が選んだランダム変数名です。スプライトを追加するディスプレイコンテナです。 。 –

関連する問題