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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.039 c
1-1092118596
Игорь_
2004-08-10 10:16
2004.08.22
Влияет ли файловая система на компиляцию программы ?


8-1086246500
dellax
2004-06-03 11:08
2004.08.22
Чтение TGA формата


1-1091702482
Aleksandr.
2004-08-05 14:41
2004.08.22
Как переделать код расчета CRC32?


6-1087225787
maxz
2004-06-14 19:09
2004.08.22
Authentication in NMSMTP


1-1091558483
DreymanD
2004-08-03 22:41
2004.08.22
Циклическая процедура.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский