По моему можно поменять алгоритм Z - сортировки немного: проверять и менять местами только объект героя и конкретное дерево, а не все объекты друг с другом.
Цитата:
Либо использовать стабильную сортировку (написать ее руками).
|
Можно просто предоставить другую функцию сортировки, которая проверят и Y и X объекта
Код AS3:
objects.sort(myLittleZSorter);
var i:int = objects.length;
while (i--) {
var childIndex:int = getChildIndex(objects[i]);
if (childIndex != i) {
setChildIndex(objects[i], i);
}
}
...
private function myLittleZSorter(a: Object, b: Object): int {
if (a.y > b.y) {
return 1;
} else if (a.y < b.y) {
return -1;
} else if (a.x > b.x) {
return 1;
} else {
return -1;
}
}
Тогда при сортировке не будут скакать элементы с одинаковым УГРИКОМ