2017-04-13 51 views
0

我正在使用動作腳本3.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'只是我選擇的一個隨機變量名,它應該是你添加精靈的顯示容器。 –