Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Изометрический мир, z сортировка (http://www.flasher.ru/forum/showthread.php?t=146536)

shaelf 10.11.2010 19:23

Изометрический мир, z сортировка
 
Если бы все объекты размером в 1 тайл, то тут все ясно как божий день, но проблема у объектов есть еще ширина и высота, и при ширине || высоте > 3 все перестает нормально работать.
Уже не знаю как высчитать рейтинг сортировки для объекта.

Что дано, сам объект на сцене (sprite) ну и его данные у которых есть x y z width height (в координатах карты)
при ширине высоте в 1 тайл индекс вычисляется как z * 1E5 + y + x * cell.width, надо чтобы нормально сортировались объекты с размером больше 2 тайлов по ширине или высоте. Допустим, есть 2 объекта 2*2 и 6*2

x|x|x|2|2|x
x|x|x|2|2|x
x|x|x|2|2|x
x|x|x|2|2|x
x|1|1|2|2|x
x|1|1|2|2|x

так вот объект 1 вылезает выше 2

lowka 11.11.2010 01:15

ширина и высота объектов должны быть равны, чтобы простая сортировка работала корректно.
формула выглядит как-то так:
w, h > 0 => z = x + w/2 + y + h/2
w = h = 0 => z = x + y
но если хочется объекты, у которых размеры не равны, извольте попиксельно отрисовывать объекты.

shaelf 11.11.2010 13:44

Спасибо.


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

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