![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 106
|
Есть массив. В этом массиве - мувики. У каждого MovieClip есть переменная this_depth.
Задача: в каждом кадре надо отсортировать массив по значениям this_depth и расставить MovieClipы по нужным слоям, в зависимости от this_depth. Неужели это делается методом пузырька? Но это же довольно сложный процесс, учитывая что это должно происходить каждый кадр? |
|
|||||
|
Модрон-ветеринар
|
Что такое "метод пузырька"?
|
|
|||||
|
Регистрация: Jul 2006
Сообщений: 106
|
метод пузырька - http://algolist.manual.ru/sort/bubble_sort.php
|
|
|||||
|
Регистрация: Jan 2009
Сообщений: 1,651
|
"метод пузырька" - сортировка, о которой должен знать любой, кто именует себя "программистом".
В as3 - именно так и делают. Только используют метод Array.sort - он быстрее. Вот, например, сортировка из изометрической игрушки(на самом деле она сложнее, здесь я ее упростил). function arrange():void {
items.sortOn("depth", Array.NUMERIC);
var i:int = items.length;
while (i--) {
if (getChildAt(i) != items[i]) {
setChildIndex(items[i], i);
}
}
lst = items.slice();
}
Поэтому там применяют сортировку такого типа. Подробнее - у гугла по словам actionscript depth sort |
|
|||||
|
Модрон-ветеринар
|
Сделайте дополнительный временный массив.
1. При единственном обходе основного массива узнаем this_depth элемента, и заполняем дополнительный массив мувиками уже в нужном порядке согласно этим this_depth. 2. Приравниваем исходный массив полученному. 3. Дополнительный удаляем. Последний раз редактировалось mooncar; 24.07.2009 в 12:11. |
![]() |
![]() |
Часовой пояс GMT +4, время: 06:58. |
|
|
« Предыдущая тема | Следующая тема » |
|
|