![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Принцип игры Герои 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 и прочую лабуду вообще забудь!