Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Blitz3D > 2D-программирование

2D-программирование Вопросы, касающиеся двумерного программирования

Ответ
 
Опции темы
Старый 20.05.2007, 12:50   #1
Earlind
ПроЭктировщик
 
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений
(для 27 пользователей)
Изометрия. Что первым рендериться, что вторым и тд

Собственно, что-то у меня не совсем получается. Через поиск тоже ничего не нашёл, в общем, как это реализовать, чтобы всё быстро работало, не используя сетку, а используя только координаты объектов?

Зы: Вид сверху-сбоку, надо чтобы нужный объект был за нужным объектом а не на нём. И наоборот.
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 12:55   #2
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Че то толком не понял вопрос, ты юзаешь DrawImage? Если да то если хош чтобы объект рендерился поверх других то DrawImage ставь перед всеми ресуемыми рисунками, и все должно работать.
зы. Толком не понял вопр.
__________________

(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:01   #3
johnk
Легенда
 
Регистрация: 01.10.2006
Сообщений: 3,705
Написано 296 полезных сообщений
(для 568 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

то DrawImage ставь перед всеми ресуемыми рисунками, и все должно работать.
Так обьект будет рисоваться перед всеми, то сеть под.
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:03   #4
Earlind
ПроЭктировщик
 
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений
(для 27 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Это я знаю, я о другом. Как правильно их на сцене расставить, чтобы когда один объект ниже другого, он рендорится вторым, если выши, то первым, тоесть перекрывается другим. Вот с этим я не могу разобраться...

Вернее проблема с проверкой, что ниже, что выше, когда объектов много.
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:05   #5
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Это я знаю, я о другом. Как правильно их на сцене расставить, чтобы когда один объект ниже другого, он рендорится вторым, если выши, то первым, тоесть перекрывается другим. Вот с этим я не могу разобраться...
проверять Y и Х и взависимости от них рендерить рисунок. помойму так
__________________

(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:10   #6
Earlind
ПроЭктировщик
 
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений
(для 27 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Да проверять нужно только У..., но, с кодом я запутался. Не получается. По идеи надо создать список объктов по порядку стоящих по у и потом в зависимости от этого списка их отрисовывать, но этот список чтото мне никак не получается создать... тоесть написать код, который его создаёт.
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:15   #7
mr.DIMAS
Дэвелопер
 
Аватар для mr.DIMAS
 
Регистрация: 26.12.2006
Адрес: Санкт-Петербург
Сообщений: 1,572
Написано 547 полезных сообщений
(для 1,540 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Список объектов? Юзаем типы.
__________________

(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 13:18   #8
alcoSHoLiK
Дэвелопер
 
Регистрация: 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
Earlind
ПроЭктировщик
 
Регистрация: 11.05.2007
Сообщений: 126
Написано 15 полезных сообщений
(для 27 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

2alcoSHoLiK

Натолкнуло на мысль сделать так:
Получить список объектов и потом проверять по очереди, если позиция 0 объекта по у меньше чем у 1, то менять их местами в списке, потом так между 1 и 2, 2 и 3 и тд... наконец-то заработало, спасибо.
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 14:40   #10
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Жалко, в блице нету команды задачи глубины рисования - было бы куда проще ИМХО
(Offline)
 
Ответить с цитированием
Старый 20.05.2007, 19:10   #11
jimon
 
Сообщений: n/a
Re: Изометрия. Что первым рендериться, что вторым и тд

Progger_Leo
ну зделай себе систему слоев как в фотошопе ... тоже самое
и делать ее минут 5-20 (в зависимости от того чего хочеш)
 
Ответить с цитированием
Старый 22.05.2007, 11:51   #12
Progger_Leo
Разработчик
 
Регистрация: 09.01.2007
Сообщений: 217
Написано 0 полезных сообщений
(для 0 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

Спс, пока не надо
(Offline)
 
Ответить с цитированием
Старый 21.06.2007, 00:42   #13
Черный крыс
 
Сообщений: n/a
Re: Изометрия. Что первым рендериться, что вторым и тд

Я хочу развить тему......

А если у тебя юниты 3-х мерные - как быть?

Суть проблеммы : Все 3Д юниты будут рендерятся за один проход функции RenderWorld() тоесть отдельному юниту никак нельзя поставить свою очередь рендера.....знаю - есть EntityOrder() - но эта функция перекалашматит анимированный обьект до неузнаваемости......А если зеленый и желтый обьекты попадут в кадр одновременно.....причем один За забором а другой ПЕРЕД забором......как тогда быть?
 
Ответить с цитированием
Старый 21.06.2007, 01:05   #14
jimon
 
Сообщений: n/a
Re: Изометрия. Что первым рендериться, что вторым и тд

Diablo1909
если обьекты 3д, а забор 2д, то банально сделай забор 3д
смешаная техника особо не применяется

ps. или я чето не понял ?
устал просто
 
Ответить с цитированием
Старый 21.06.2007, 01:10   #15
HolyDel
 
Регистрация: 26.09.2006
Сообщений: 6,035
Написано 1,474 полезных сообщений
(для 2,707 пользователей)
Re: Изометрия. Что первым рендериться, что вторым и тд

на крайняк можно и в два прохода отрендерить.
сначала юниты за забором, потом забор,потом перед забором(конечно с вырубленной отчисткой екрана для камеры) (ессено если забор будет тока один - дальше хуже).
ЗЫ:
смешаная техника особо не применяется
(Offline)
 
Ответить с цитированием
Ответ


Опции темы

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С первым сентября! ABTOMAT Поздравления и пожелания 8 01.09.2008 20:07
Простая изометрия SubZer0 Алгоритмика 5 19.03.2006 23:46


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com