Главная страница
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.041 c
14-1091439762
TUser
2004-08-02 13:42
2004.08.22
Фень Юань


14-1091674940
aga
2004-08-05 07:02
2004.08.22
работа с протоколом http


1-1092130305
TUser
2004-08-10 13:31
2004.08.22
raise в потоке


1-1092058858
ПЛОВ
2004-08-09 17:40
2004.08.22
Вопрос по чтению строк из текстовых файлов


9-1079999810
Новичек
2004-03-23 02:56
2004.08.22
Как написать 3d-игру?