|
|
|||||
Регистрация: Jan 2013
Сообщений: 38
|
Сортировка отображения
как сделать что бы нормально отображались объекты и не дергались деревья ?(видео ниже)
получается вот это (видео) |
|
|||||
Вообще-то есть. В сортировке не указано, что значение "y" числовое, поэтому сортируется по строкам
|
|
|||||
[+4 06.05.14]
|
Цитата:
__________________
Марк Tween |
|
|||||
Регистрация: Nov 2010
Сообщений: 497
|
В документации по Array.sortOn (ну и в Array.sort, наверное, тоже) написано, что сортировка не стабильная (not stable). Так что порядок "равных" элементов может меняться.
Выходов два. Либо определить порядок так, чтобы он был стабильным (было меньше "равных" элементов). Либо использовать стабильную сортировку (написать ее руками). |
|
|||||
__________________
return this... |
|
|||||
По моему можно поменять алгоритм Z - сортировки немного: проверять и менять местами только объект героя и конкретное дерево, а не все объекты друг с другом.
Цитата:
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; } } |
|
|||||
[+4 06.05.14]
|
Цитата:
P.s. - все там stable
__________________
Марк Tween |
Часовой пояс GMT +4, время: 22:19. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|