![]() |
Сортировка массива и слои
Есть массив. В этом массиве - мувики. У каждого MovieClip есть переменная this_depth.
Задача: в каждом кадре надо отсортировать массив по значениям this_depth и расставить MovieClipы по нужным слоям, в зависимости от this_depth. Неужели это делается методом пузырька? Но это же довольно сложный процесс, учитывая что это должно происходить каждый кадр? |
Что такое "метод пузырька"?
|
метод пузырька - http://algolist.manual.ru/sort/bubble_sort.php
|
"метод пузырька" - сортировка, о которой должен знать любой, кто именует себя "программистом".
В as3 - именно так и делают. Только используют метод Array.sort - он быстрее. Вот, например, сортировка из изометрической игрушки(на самом деле она сложнее, здесь я ее упростил). Код:
function arrange():void {Поэтому там применяют сортировку такого типа. Код:
this.swapDepths(this._x + this._y*isoPlane_width); |
Сделайте дополнительный временный массив.
1. При единственном обходе основного массива узнаем this_depth элемента, и заполняем дополнительный массив мувиками уже в нужном порядке согласно этим this_depth. 2. Приравниваем исходный массив полученному. 3. Дополнительный удаляем. |
| Часовой пояс GMT +4, время: 07:06. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.