![]() |
|
||||||||||
|
|||||
|
Cуществует игра, отдаленно похожая на стратегию; Вид - подобие косоугольной проекции.
Чтобы элементы, стоящие сзади не налезали на передние использую двойную сортировку: сначала по _y(стандартную) и методом Шела (с использование оператора swapDepths. Все бы ничего, только тормоза идут. Метод Шела на быструю сортировку не стал заменять, т.к. не уверен, что для 40-50 элементов это будет эффективно. Код вот такой: _root.grafica.sort(function(o1,o2){return o1._y-o2._y}); var j, c, e; var n=_root.grafica.length-1; var g=int((n+1)/2); do{i=g; do{j=i-g; c = true; do{ if(_root.grafica[j].getDepth()<=_root.grafica[j+g].getDepth()){ c = false; }else{ _root.grafica[j].swapDepths(_root.grafica[j+g]); };j--; }while(j>=0&&c); i++; }while(i<=n); g=int(g/2); }while(g>0); Есть ли какой-нибудь стандартный способ сортировать свойство depth? Или другой алгоритм для устранения налезаний движущихся объектов на карте? |
![]() |
Часовой пояс GMT +4, время: 20:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|