forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Организация загрузки карт (http://forum.boolean.name/showthread.php?t=2990)

mr.DIMAS 19.03.2007 22:46

Организация загрузки карт
 
Люди плиз хелп. Как огранизовать загрузку карт в таком виде:
у нас имеется файл (например с расширением map) в котором записано размеры, позиция ентити( в качестве ентите создаем куб и растягиваем его т.е стена получается). техтура для ентити ир т.д(ну или цвет в крайнем случае) и собсно вопрос как это все изобразитьь в коде . а то у мну чето через ReadFile и ReadInt не плучается. а если не понятен вопр то вот ф-ция
Код:


Function
LoadPureMap(path$)
Local ObjData[500]
cm=ReadFile(path$)жБерем хендл файла чтобы в дальнейшем брать из него
PureMapSize=ReadInt(cm)
For i=0 To PureMapSize
C_X#=ReadFloat(cm)
C_Y#=ReadFloat(cm)
C_Z#=ReadFloat(cm)
S_X#=ReadFloat(cm)
S_Y#=ReadFloat(cm)
S_Z#=ReadFloat(cm)
cube=CreateCube();Создланем стену
ScaleEntity cube,S_X#,S_Y#,S_Z#;растягиваем
PositionEntity cube,C_X#,C_Y#,C_Z#;позиционирум
Next
End Function

и как ее исправить чтобы грузило карту из файла. заранее благодарен
:4to: :4to:

Raiter 20.03.2007 00:03

Re: Организация загрузки карт
 
:-)

я как-раз написал простенький редактор... правда в 2д, но смысл тот же!

выкладываю исходник... :) хз конечно насколько правильно он написан - писал для себя :) там правда всё по-украински, минимум коментариев (да и те что есть тоже на укр), но думаю разберёшся :-)

moka 20.03.2007 01:29

Re: Организация загрузки карт
 
Xml Библиотека тебе в помошь!!! По началу покажется сложной, а потом поймёшь и будет Очень просто и никакаих лажей =).

А вообще вопрос хоть и поставлен, но то что ты выложел мало, нужна и функция сохранения. Ещё в каком виде ты содержишь объекты, это массив?

mr.DIMAS 20.03.2007 16:29

Re: Организация загрузки карт
 
Raiter если я правильно понял то там в примере есть тип в который засовываются данные из файла, а затем из этих данных создается новый тайл при помощи ф-ции CNT ведь так? И исчо, получается что в 3Д такая же фигня т.е нужно создать тип в который грузить из файла данные ... в таком духе? А?

Raiter 20.03.2007 18:51

Re: Организация загрузки карт
 
вообщето при загрузке уровня тайлы рисуются функцией CNT2 :-)
а функция CNT юзаетсо для создания новых тайлов...
Цитата:

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

зыж вот народ благодарный :-)

moka 21.03.2007 00:46

Re: Организация загрузки карт
 
В своём редакторе я использовал массив всех объектов, их могло быть и несколько (на разне типа обхектов, там партиклы, статика, и т.п.), в редакторея их добавлял и редактировал. Далее у меня было 2 типа сохранений:
1 - переберал массивы, на колличество эллементов,записывал это колличество (Примечание: при загрузки нужно делать For n=1 To Count, а не с 0). Далее для этого колличества делал цикл, от 1 до колличества эллементов, и грузил значения (Примечание: Обязательно для всех нужно сохранять определённое колличество байтов\чиесл\строк, и столько-же загружать, а не там 4 строки там 3.). И каждый цикл, из загрудженных значений создавал элементы в те же массивы.
2 - Этот варриант я сделал только после, и считаю его лучшим и удобнейшим - xml'файлы. На каждый массив, я создавал по 1 ксмлки, и в ней записыкал объекты, можно конечно и в ксмлку запихнуть, и сделать просто на каждый массив по ветке, но я тогда почемуто не допёр :). Так проще загружать, т.к. можно сразу узнать сколько эллементов в ветке, и всех их загружать и тоже сразу создавать эллемент в массив.

Raiter 21.03.2007 15:35

Re: Организация загрузки карт
 
ну хз :) я юзаю массивы и не жалуюсь :)


Часовой пояс GMT +4, время: 03:00.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot