Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.08.22;
Скачать: CL | DM;

Вниз

Алгоритм созжания карты   Найти похожие ветки 

 
S.W.I.N.E.   (2004-04-26 19:14) [0]

Пытаюсь с помощью DelphiX создать маленькую аркаду-платформер. Первая проблемма: как создавать карты? То есть, какой алгоритм необходим для того, чтобы проверять, стоит ли игрок перед препятствием, может ли он его перепрыгнуть и т.д.?


 
OSokin ©   (2004-04-26 19:23) [1]

Если используешь DelphiX, то там все просто - создаешь кучу спрайтов, соответствующи этим препятствиям, игроку и т. д. и проверяешь у игрока OnCollision (не забудь поставить проверку). Если это препятствие, то запрещаешь движение.


 
S.W.I.N.E.   (2004-05-06 19:18) [2]

Не, слишком сложно. Проще координаты запоминать. Создать какой-нибудь массив координат, да только как? Тут хитропопо как-то надо.


 
Thor ©   (2004-05-06 19:25) [3]

про карты уже много раз было.
самый простой выход - создать массив, в котором прописать значения всех ячеек карты.
тогда спрайт игрока будет перемещаться по этому массиву.
а там уже смотри - игрок нажал налево - проверяем, если там есть препятствие, которое игрок не должен пройти, то не делаем ничего, иначе пропускаем игрока и т.п. :)


 
S.W.I.N.E.   (2004-05-06 20:07) [4]

Не, то, что это  массив я понял, но какой? Двумерный, трехмерный, записей... Что он из себя представляет?
2Thor: Если уже много раз было, то подкинь ссылку...


 
Thor ©   (2004-05-06 20:28) [5]

дпустим, для аркады с картой 64х64 это будет 4096 ячеек.
вот что-то типа того:
var map: array [0..64, 0..64] of Integer;
ну и соответственно при создании карты заполняешь его нужными тебе значениями.

mirgames.ru - пример про платформенную аркаду с Астериксом.


 
Mihey ©   (2004-05-06 20:45) [6]

Буквально здесь человек изложил свои мысли грамотно и понятно:
http://delphimaster.net/view/9-1083832794/


 
woolf/psycho ©   (2004-05-07 13:49) [7]

Я как-то делал стрелялку-прыгалку вид с боку. И вот к чему я пришел: создавать массив структур, описывающих каждую ячейку карты неудобно, да и не выгодно. Я создал список всех объектов карты, и просто работал с этим списком. Так, вроде, эффективнее, поскольку объект карты может занимать любой размер, а не только кратный размеру ячеек...


 
Mihey ©   (2004-05-07 20:07) [8]

2 woolf/psycho:

А я точно так же сделал в изометричексом движке. Круто, без проблем, только упорядочивать надо каждый раз - долго это, но ничего, мощности хватает.


 
хм ©   (2004-05-08 18:22) [9]

>var map: array [0..64, 0..64] of Integer;
зачем ограничевать себя интегером? лучше записи использовать



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

Текущий архив: 2004.08.22;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.039 c
1-1092066291
Ivolg
2004-08-09 19:44
2004.08.22
MouseDown,MouseUp?


1-1092137500
Fynjy
2004-08-10 15:31
2004.08.22
Моргает Image


4-1089286295
bar
2004-07-08 15:31
2004.08.22
В Cи можно а в Delphi?


1-1091642248
Роман
2004-08-04 21:57
2004.08.22
А можно использовать ListView для отображения данных из БД вместо


1-1092106071
Марат
2004-08-10 06:47
2004.08.22
Перенос label