Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.01.2009, 18:18
ВАРАН вне форума Посмотреть профиль Отправить личное сообщение для ВАРАН Найти все сообщения от ВАРАН
  № 1  
Ответить с цитированием
ВАРАН
 
Аватар для ВАРАН

Регистрация: Aug 2003
Адрес: Москва
Сообщений: 449
Отправить сообщение для ВАРАН с помощью ICQ

Да знаю я как клипы местами менять Так ведь их нельзя просто нашару поменять все. Представь что их не 3 а 200. И у всех разная глубина. Нужен определенный алгоритм сортировки чтобы все их перестроить и не один не потерять. Это как большие пятнашки.

Добавлено через 1 час 34 минуты
Попробую сам дотумкать.
делаем асоциативный массив в который заносим имена всех наших мувиков, и их величину _z. Чтобы они были доступны вот так:
объект=my_array[i].obj
величина _z=my_array[i]._z


Код AS1/AS2:
//затем сортируем массив по этой величине _z
my_array.sortOn(["_z"],Array.NUMERIC);
 
//далее играем в пятнашки
	do {
		r = 0;
                      //бежим по всем элементам
		for (var i = 0; i<my_array.length; i++) {
                                  //получаем реальную глубину ролика
			var depth = my_array[i].obj.getDepth();
                                 //если глубина не совпадает с порядковым номером в массиве свапим ролик на свое место
			if (i<>depth) {
				my_array[i].obj.swapDepths(my_array[depth].obj);
			} else {
				r++;
			}
		}
	} while (r<my_array[i].length-2);
На небольших массивах работает отлично. А вот на больших... неочень. Пропускает некоторые элементы. Видимо алгоритм все равно не тот.
__________________
Он манэ падмэ ХУМ!

Создать новую тему Ответ Часовой пояс GMT +4, время: 02:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 02:41.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.