Показать сообщение отдельно
Старый 02.12.2012, 14:20
Tetraeon вне форума Посмотреть профиль Отправить личное сообщение для Tetraeon Найти все сообщения от Tetraeon
  № 1  
Ответить с цитированием
Tetraeon

Регистрация: May 2012
Сообщений: 166
По умолчанию Зигзаг сканирование (сортировка глубины)

Здравствуйте, данная тема не раз поднималась уже на форуме и я все их перечитал (или не понял), но так и не сумел придумать верный вариант сортировки изометрического редактора карт.
Вот к чему я пришел:
Код AS3:
            for (var col:int=0; col<slots; col++)
			{
				for (var row:int=0; row<slots; row++)
				{
					for (var i:int=0; i<objArr.length; i++)
					{
						if (objArr[i] == grid[col][row].targ)
						{
							container.addChild(objArr[i]);
						}
					}
				}
			}
Расположение клеток идет так: Х (col) с верхнего угла сетки вправо, а Y (row) влево.

Данный код сканирует изометрическую сетку по столбцам и добавляет находящиеся на клетках объекты поочередно вот в такой последовательности:
col row
0 0
0 1
0 2
1 0
1 1
1 2

Этот вариант не подходит для объектов имеющих огромные размеры (23x10) и т.д.
Я в тупике.. подскажите какие есть еще варианты?
__________________
Выражаю благодарность всем, кто помогают новичкам. Ваша бескорыстная помощь внушает уважение.


Последний раз редактировалось Tetraeon; 02.12.2012 в 22:14.