我正在使用动作脚本3.0制作一个简单的等距城市建设者。 这个概念就像帝国的时代,所以当我按下一个按钮时,会形成一个形状,它将跟随光标,直到我再次点击舞台,这样就会放置一个房子。 但是当我们之间发生更多房屋碰撞时,我对可视化的顺序存在一些问题。
答案 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));
}