2017-04-13 42 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'只是我选择的一个随机变量名,它应该是你添加精灵的显示容器。 –