|
2D-программирование Вопросы, касающиеся двумерного программирования |
20.05.2007, 12:50
|
#1
|
ПроЭктировщик
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений (для 27 пользователей)
|
Изометрия. Что первым рендериться, что вторым и тд
Собственно, что-то у меня не совсем получается. Через поиск тоже ничего не нашёл, в общем, как это реализовать, чтобы всё быстро работало, не используя сетку, а используя только координаты объектов?
Зы: Вид сверху-сбоку, надо чтобы нужный объект был за нужным объектом а не на нём. И наоборот.
|
(Offline)
|
|
20.05.2007, 12:55
|
#2
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Че то толком не понял вопрос, ты юзаешь DrawImage? Если да то если хош чтобы объект рендерился поверх других то DrawImage ставь перед всеми ресуемыми рисунками, и все должно работать.
зы. Толком не понял вопр.
__________________
|
(Offline)
|
|
20.05.2007, 13:01
|
#3
|
Легенда
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений (для 568 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
то DrawImage ставь перед всеми ресуемыми рисунками, и все должно работать.
|
Так обьект будет рисоваться перед всеми, то сеть под.
|
(Offline)
|
|
20.05.2007, 13:03
|
#4
|
ПроЭктировщик
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений (для 27 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Это я знаю, я о другом. Как правильно их на сцене расставить, чтобы когда один объект ниже другого, он рендорится вторым, если выши, то первым, тоесть перекрывается другим. Вот с этим я не могу разобраться...
Вернее проблема с проверкой, что ниже, что выше, когда объектов много.
|
(Offline)
|
|
20.05.2007, 13:05
|
#5
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Это я знаю, я о другом. Как правильно их на сцене расставить, чтобы когда один объект ниже другого, он рендорится вторым, если выши, то первым, тоесть перекрывается другим. Вот с этим я не могу разобраться...
|
проверять Y и Х и взависимости от них рендерить рисунок. помойму так
__________________
|
(Offline)
|
|
20.05.2007, 13:10
|
#6
|
ПроЭктировщик
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений (для 27 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Да проверять нужно только У..., но, с кодом я запутался. Не получается. По идеи надо создать список объктов по порядку стоящих по у и потом в зависимости от этого списка их отрисовывать, но этот список чтото мне никак не получается создать... тоесть написать код, который его создаёт.
|
(Offline)
|
|
20.05.2007, 13:15
|
#7
|
Дэвелопер
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений (для 1,540 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Список объектов? Юзаем типы.
__________________
|
(Offline)
|
|
20.05.2007, 13:18
|
#8
|
Дэвелопер
Регистрация: 17.01.2006
Сообщений: 1,512
Написано 78 полезных сообщений (для 110 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Можо так сделать.
Ссылки на картинки всех объектов находятся в одном списке. У каждого эелемента списка есть свой приоритет. После просчета логики все объекты рисуются из списка в одном месте в порядке увеличения их приоритета.
Допустим, есть игрок, который должен быть то под домом, то перед домом, в зависимости от его положения на карте. Если считать, что координаты объекта задают одну из верхних вершин, то достаточно проверять такое условие:
if player.y + player.height < house.y + house.height then
; сделать приоритет player меньше, чтобы он рисовался раньше
else
; сделать приоритет player больше, чтобы он рисовался позже
end if
Тут house.height - это не высота картинки, а высота дома, которая задается программистом. Должно быть понятно.
Перед рендером сортируешь список и рисуешь.
|
(Offline)
|
|
20.05.2007, 13:39
|
#9
|
ПроЭктировщик
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений (для 27 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
2alcoSHoLiK
Натолкнуло на мысль сделать так:
Получить список объектов и потом проверять по очереди, если позиция 0 объекта по у меньше чем у 1, то менять их местами в списке, потом так между 1 и 2, 2 и 3 и тд... наконец-то заработало, спасибо.
|
(Offline)
|
|
20.05.2007, 14:40
|
#10
|
Разработчик
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Жалко, в блице нету команды задачи глубины рисования - было бы куда проще ИМХО
|
(Offline)
|
|
20.05.2007, 19:10
|
#11
|
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Progger_Leo
ну зделай себе систему слоев как в фотошопе ... тоже самое
и делать ее минут 5-20 (в зависимости от того чего хочеш)
|
|
|
22.05.2007, 11:51
|
#12
|
Разработчик
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений (для 0 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Спс, пока не надо
|
(Offline)
|
|
21.06.2007, 00:42
|
#13
|
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Я хочу развить тему......
А если у тебя юниты 3-х мерные - как быть?
Суть проблеммы : Все 3Д юниты будут рендерятся за один проход функции RenderWorld() тоесть отдельному юниту никак нельзя поставить свою очередь рендера.....знаю - есть EntityOrder() - но эта функция перекалашматит анимированный обьект до неузнаваемости......А если зеленый и желтый обьекты попадут в кадр одновременно.....причем один За забором а другой ПЕРЕД забором......как тогда быть?
|
|
|
21.06.2007, 01:05
|
#14
|
|
Re: Изометрия. Что первым рендериться, что вторым и тд
Diablo1909
если обьекты 3д, а забор 2д, то банально сделай забор 3д
смешаная техника особо не применяется
ps. или я чето не понял ?
устал просто
|
|
|
21.06.2007, 01:10
|
#15
|
☭
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений (для 2,707 пользователей)
|
Re: Изометрия. Что первым рендериться, что вторым и тд
на крайняк можно и в два прохода отрендерить.
сначала юниты за забором, потом забор,потом перед забором(конечно с вырубленной отчисткой екрана для камеры) (ессено если забор будет тока один - дальше хуже).
ЗЫ:
смешаная техника особо не применяется
|
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
С первым сентября! |
ABTOMAT |
Поздравления и пожелания |
8 |
01.09.2008 20:07 |
Простая изометрия |
SubZer0 |
Алгоритмика |
5 |
19.03.2006 23:46 |
Часовой пояс GMT +4, время: 19:55.
|