![]() |
Зигзаг сканирование (сортировка глубины)
Здравствуйте, данная тема не раз поднималась уже на форуме и я все их перечитал (или не понял), но так и не сумел придумать верный вариант сортировки изометрического редактора карт.
Вот к чему я пришел: Код AS3:
Данный код сканирует изометрическую сетку по столбцам и добавляет находящиеся на клетках объекты поочередно вот в такой последовательности: col row 0 0 0 1 0 2 1 0 1 1 1 2 Этот вариант не подходит для объектов имеющих огромные размеры (23x10) и т.д. Я в тупике.. подскажите какие есть еще варианты? |
По моему ваш код и так заработает, на один цикл меньше и в n раз быстрее:
Код AS3:
Код AS3:
|
Как можно применить ваш код если объект размером 23х10 ? Указывая X и Y объекта мы имеем ввиду точку регистрации изображения? В какую часть изображения нужно ставить точку регистрации?
У меня например на длинные объекты "налазят" высокие объекты. И как быть с обхектами чей zIndex будит равен и они будут пересикаться? |
Цитата:
От размера поля ничего не зависит, у меня одномерный массив используется. Т.е. не нужно никакой инициализации согласно максимальному размеру. Ну если уж быть совсем точным, то максимальный размер поля получился (10000 - 1), но число 10000 случайное в принципе. Под X,Y надо понимать верхнюю точку, т.е. наиболее близкую к началу координат. Начало координат обычно сверху располагается: http://code.google.com/p/as3isolib/w...b_tutorial_005 Соответственно, у объекта есть его "экранные" координаты, ну обычные флешовые, которые отсчитываются от левого верхнего угла экрана. И координаты в пространстве (у кубика на ссылке выше координаты в пространстве например близки к 0,0 - т.е. он недалеко от начала координат). У вас не будет объектов с одинаковым zIndex :) Это возможно только в том случае, если у двух объектов одни и те же координаты Библиотека as3 isolib должна подойти для вашей задачи |
Спасибо)
|
| Часовой пояс GMT +4, время: 19:36. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.