Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Игры";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Вниз

Принцип игры Герои 3.   Найти похожие ветки 

 
Galiaf ©   (2005-10-23 22:00) [0]

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


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

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

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


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


 
PAVIA ©   (2005-10-23 22:20) [2]

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


 
Galiaf ©   (2005-10-23 22:27) [3]

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


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

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


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


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

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


 
Galiaf ©   (2005-10-24 22:01) [6]

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


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

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

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


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

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


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


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


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


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


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

LOL !!!!


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


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


А чего ?


 
XProger ©   (2005-10-30 14:41) [12]

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


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


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


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



Страницы: 1 вся ветка

Форум: "Игры";
Текущий архив: 2006.05.28;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.011 c
2-1147348959
q-q
2006-05-11 16:02
2006.05.28
аналог DBGrid, наследник TGraphicControl


2-1147460349
News
2006-05-12 22:59
2006.05.28
Объекты


2-1147372407
ribbon
2006-05-11 22:33
2006.05.28
Проект, наподобие IBExpert


15-1146656687
Иван Шихалев
2006-05-03 15:44
2006.05.28
Есть практикующие электронщики?


2-1147003062
Mr tray
2006-05-07 15:57
2006.05.28
setkeyboardstate





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский