![]() |
|
||||||||||
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Облазил весь форум и интернет, но не нашел как отсортировать объекты по координатам x и y одновременно т.е. по диагонали. Вот как я это делаю по оси y:
public function sortChildrenByY(container:MovieClip):void { var i:int; i = container.numChildren; while (i--) { objArr[i] = container.getChildAt(i); } objArr.sortOn("y", Array.NUMERIC); i = container.numChildren; while (i--) { if (objArr[i] != container.getChildAt(i)) { container.setChildIndex(objArr[i], i); } } }
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. |
|
|||||
|
[+4 06.05.14]
|
И сортируешь уже по массивам. или по объектам кому как удобно, но лучше вообще вектором делать, там возможностей больше
__________________
Марк Tween |
|
|||||
|
как вариант
public function sortChildrenByXY(container:DisplayObjectContainer):void { var i:int; var propArr:Array = []; var objArr:Array = []; for (i = 0; i < container.numChildren; i++) { var obj:DisplayObject = container.getChildAt(i); propArr.push(obj.x * obj.x + obj.y * obj.y); objArr.push(obj); } var indxArr:Array = propArr.sort(Array.NUMERIC | Array.RETURNINDEXEDARRAY); for (i = 0; i < indxArr.length; i++) { container.addChild(objArr[indxArr[i]]); } } |
|
|||||
|
Регистрация: May 2012
Сообщений: 166
|
Спасибо большое !
silin ваш вариант подошел.
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение. |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:46. |
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | |
| Опции просмотра | |
|
|