![]() |
как сделать сортировку через swapDepth
Допустим есть обекты каждый со своей глубиной _z:
obj1._z=30 getDepth=1 obj2._z=10 getDepth=2 obj3._z=20 getDepth=3 Через sortOn я сортирую их по глубине _z. Получаю такое: obj2._z=10 getDepth=2 obj3._z=20 getDepth=3 obj1._z=30 getDepth=1 А как мне используя только swapDepth расставить их по нужным уровням? Тоесть чтобы в результате на сцене получилось так: obj2._z=10 getDepth=1 obj3._z=20 getDepth=2 obj1._z=30 getDepth=3 Если бы был метод setDepth то проблем бы не было:) Подскажите, пожалуйста, алгоритм. |
Если объекты - клипы, то и менять их глубину с помощью swapDepth(depth). Если не клипы - поместить их в клипы.
|
:) Это понятно что менять глубину. Но глубину надо изменять меняя клипы местами, а не назначая им глубину напрямую. Сталобыть на до как то хитро их перетасовать что бы они выстроились как в третьем примере.
|
Код AS1/AS2:
|
:taunt::quiet:
Да знаю я как клипы местами менять:) Так ведь их нельзя просто нашару поменять все. Представь что их не 3 а 200. И у всех разная глубина. Нужен определенный алгоритм сортировки чтобы все их перестроить и не один не потерять. Это как большие пятнашки. Добавлено через 1 час 34 минуты Попробую сам дотумкать. делаем асоциативный массив в который заносим имена всех наших мувиков, и их величину _z. Чтобы они были доступны вот так: объект=my_array[i].obj величина _z=my_array[i]._z Код AS1/AS2:
|
Я делал это почти так же. Только параллельными массивами, а не ассоциативным.
Идея в том, что есть 2 массива - в одном _z, в другом имена клипов(ну или id, или просто ссылки на клипы) Так вот, сортируем массив с _z-ами, после чего с помощью Код AS1/AS2:
И ровно на эти же места (глубины) помещаем наши клипы из 2-ого массива |
А так если:
Код AS1/AS2:
|
Ан нет. Вычистил свои другие скрипты и оказалось что мой метод работает очень даже хорошо.
|
| Часовой пояс GMT +4, время: 23:54. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.