Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Редактор карт в DelphiX [Delphi, DelphiX, Windows]


Страницы:   1 2 3 4 5 6

Аццкий_рыцарь:) ©   (2006-01-24 01:15:00) 

я наверное уже задолбал вас со своими тупыми и ламерскими вопросами :)

вот вопрос :)

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


Кефир87   (2006-01-27 19:18:00) [101]


> Если надо, напишу статью прямо здесь.

Ты уже написал все что нужно в [6] 8)


Аццкий_рыцарь:)   (2006-01-27 17:47:00) [102]

НАПИШИ ПЛИЗ! :)


Cash   (2006-01-27 17:20:00) [103]

Если надо, напишу статью прямо здесь.


Кефир87   (2006-01-27 16:42:00) [104]

Какие статьи?! Как организовать файл своего формата? Неее... врядли такие есть. Тут подумать надо. А научиться работать с файлами нужно было раньше чем заниматься разработкой игр 8)


Аццкий_рыцарь:)   (2006-01-27 16:21:00) [105]

ЭЭээээ.... ГГ... Я чета седня какой-то немного с будунца :) Ты не мог бы кинуть ссылочку на статью по этому? Чтоб там все внятно написано было без всяких типа: "синхронизовать интерполяцию частиц частей карты достаточно просто" :)


Cash   (2006-01-27 08:47:00) [106]

А я ведь не зря про формат файла говорил!
У тебя есть HEX редактор или FAR накрайняк.
Возми игруху, любую, главное с открытыми ресурсами.
Карты там обычно под *.map/*.m* расширениями файлов валяются.
Открой карту и посмотри в HEX виде. Там текст встречается очень редко,
чаще это диалоги или скрипты или описание карты. А все остальное - в
бинарном виде. Сделай как нибудь так:

Формат файла:
- Заголовок:
 Сигнатура (если надо)
(какая нибудь последовательность байтов, символизирующая, что это тот
самый формат. Обычно сюда пихают 3-4 байта, куда записывают само
расширение файла. Типа в C&C Generals карта - *.map файл, и сигнатура
у него тоже 'MAPF')
 Ширина карты
 Высота Карты
 Количество Объектов на карте
(это, чтобы дать проге понять сколько еще читать этот файл)
 Описание карты (если надо)
- Тело карты
(сюда надо бы перенести масив индексов карты, они там Integer типа,
так что размер масива вроде 4*MapWidth*MapHeight)
- Тело объектов карты
 Сигнатура (если надо или охота)
 тело первого объекта
 тело второго объекта
 ------
 тело n-го объекта
eof.

Организовать это в файловом потоке достаточно просто.


Аццкий_рыцарь:)   (2006-01-27 01:39:00) [107]

Эх! счас сяду делать редактор :)


PAVIA   (2006-01-27 00:45:00) [108]

Аццкий_рыцарь
Так и сохрони объекты.
Весч элементарная.
Все просто если объект храняться как матрицу. Так и сохрани ее.
А если хранишь как спрайты так и сохрани их.
for i:=0 to DXSpriteEngine^.Engine.Count-1 do
begin
Spr_Tmp:=DXSpriteEngine^.Engine.Items[i];
//тут уже твоя фантазия как хранить.
end;


Unsigned   (2006-01-27 00:21:00) [109]

Делай так. Игровое поле представляешь в виде прямоугольной матрицы N*M.
То есть что-то типа Map : array[0..n-1,0..m-1] of byte. Каждому коду в соответствие ставишь какой-то объект, например 0-трава, 1 - камень.
Потом можешь эту матрицу сохранять\загружать. Загружаешь и в соответствии с кодами в ячейках создаешь объекты. Их координаты можно найти так:
Х:=i*MapObject.Width,Y:=j*Object.Height, где i,j - координаты объекта в матрице.


Аццкий_рыцарь:)   (2006-01-27 00:06:00) [110]

Я карту создавал через semapsize(x,y)

А можно поподробней про массив?

Например как сделать чтоб когда загружаешь карту, то создавалась не просто как Bitmap карта... Например там есть объекты с которыми взаимодействует игрок. А это отдельные спрайты.

Я тут думал... А нельзя просто чтоб редактор карт сохранял координаты каждого объекта? а потом делфи читал строки и по ним создавал там что-то?

например я в редакторе карт создал камень в координатах 100, 130 и сохранил. В блокноте создается строка типа r1 100, 130. А делфи смотрит если строка начинается с r1, то надо создать камень в таких координатах.


Shirson   (2006-01-24 05:50:00) [111]

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


Страницы:   1 2 3 4 5 6

Наверх

Титульная страница Поиск, карта сайта Написать письмо