Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Принцип игры Герои 3. [Delphi, Windows]


Galiaf ©   (2005-10-23 22:00:00) 

Мне стало интересно как сделана игра Герои 3, и вообще в играх как используются например клики по предметам число которых достигает огромнрго количества, я раньше думал что в 2d играх используются image но что-то мой разум начал спорить со мной, обясните кто, а.


Брат П   (2005-10-31 01:37:00) [1]


> XProger ©   (30.10.05 14:41) [12]
>
> Брат П, Люди писавшие героев ещё школы не окончили по-вашему?
>  ;)


Причём тут какие то Герои ?
Человек спросил как использовать имедж, я ответил. Что ещё ?


XProger   (2005-10-30 14:41:00) [2]

Брат П, Люди писавшие героев ещё школы не окончили по-вашему? ;)


Брат П   (2005-10-30 04:20:00) [3]


> Denis_AC   (29.10.05 18:58) [10]
> LOL !!!!


А чего ?


Denis_AC   (2005-10-29 18:58:00) [4]


> На все имджи вешают один и тот же обработчик. А определить
> по какому именно имеджу кликнули можно по (Sender as TImage).
> Tag .

LOL !!!!


Брат П   (2005-10-29 03:00:00) [5]


> Galiaf ©   (23.10.05 22:00)
>
> Мне стало интересно как сделана игра Герои 3, и вообще в
> играх как используются например клики по предметам число
> которых достигает огромнрго количества, я раньше думал что
> в 2d играх используются image но что-то мой разум начал
> спорить со мной, обясните кто, а.


На все имджи вешают один и тот же обработчик. А определить по какому именно имеджу кликнули можно по (Sender as TImage).Tag .


Bogdan1024   (2005-10-29 00:35:00) [6]

В интернете полно комманд (с двумя я даже частично знаком), которые делают аддоны на герои, уж они-то 100% знают как сделаны герои, спрашивай у них.


Zer0   (2005-10-28 02:40:00) [7]

наф квад? тогда уш проще rb(красно-черное)- или kd- дерево.

еще проще помещать предметы на тайлы карты, и определять тайл под мышкой.


Galiaf   (2005-10-24 22:01:00) [8]

спешу знать :)


Кефир87   (2005-10-24 20:50:00) [9]


> XProger ©   (24.10.05 14:03) [4]

Это ему еще рано...


XProger   (2005-10-24 14:03:00) [10]

Galiaf, если число объектов действительно огромно, то строят QuadTree (или вариации)  по карте. Т.е. делят карту на ячейка в которые в свою очередь делятся на ещё меньшие ячейки и т.д.
В итоге каждая "нижняя" ячейка будет хранить указатели на объекты в ней находящиеся, следовательно такой метод отбросит просчёт явно не попадающих под курсор объектов :)


Galiaf   (2005-10-23 22:27:00) [11]

я конечно тот самый, начинающий, и ничего  не понимаю в ogl и т.п., но принцип я понял, спасибо, за ясное обьяснение.


PAVIA   (2005-10-23 22:20:00) [12]

В 2D играх не используют компоненты image. Не считая игр начинающих.
Обычно используют DirectX, OpenGl, GDI. Или их надстройки для работы с Delphi. Принцип у них один и тотже. Бирут картинку, чаще всего TBitmap или другом формате. И ресуют ее на некоторой поверхности, чаще всего это сама форма.
Для того чтобы определить, какую картинку выводить и по какой из них кликнули. Использую массивы. Вычисление по какой картинки щелкнули происходит просто бируться координаты мыши относительно начала формы/экрана переводят из относительных координат в реальные.Путем вычетания позиции видимой облости.
Далее делят на размер клетки получают позицию в массиве. Вот впринципи и все.


Кефир87   (2005-10-23 22:03:00) [13]

Ух... Ну это...

if(cursor.x>object[i].x-10)and(cursor.x<object[i].x+10).... then
object[i].selected := true;


Сомневаюсь что-то кто-то ответит конкретнее 8)
А про TImage и прочую лабуду вообще забудь!


Наверх

Титульная страница Поиск, карта сайта Написать письмо