forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Полезные функции (http://forum.boolean.name/forumdisplay.php?f=17)
-   -   загрузка обьектов из файла (http://forum.boolean.name/showthread.php?t=16154)

tirarex 08.01.2012 14:00

загрузка обьектов из файла
 
Многие хотят сделать чтоб игра загружала несколько обьектов из файла DAt INI ил хоть какой но надо писать какую то функцию а вот какую я сейчас и покажу

начнём
создадим файл с названием map.dat
и сделаем такое содержание

1
data\test_model1.3ds
разберём
1 это количество строк каторое мы будем читать
data\test_model1.3ds это сама модель

а теперь впишем код
Код:

filemapx = ReadFile("map.dat")
kolx = ReadLine(filemapx)
For i=1 To kolx
tyrp1$=ReadLine(filemapx)
Createpxmap(tyrp1$)
Next
CloseFile filemapx


объясняю функцию

filemapx = ReadFile("map.dat") ;Открываем файл нашей карты
kolx = ReadLine(filemapx) ;Считываем количество строк с моделями
For i=1 To kolx начинаем цикл
tyrp1$=ReadLine(filemapx) ;считываем адрес модели из строки
Createpxmap(tyrp1$) ; запускаем функцию и задаём адрес модели
Next ; далее
CloseFile filemapx ;Закрываем файл

сама функция

Код:

Type map  ; начинаем тип
        Field mesh ; добавляем тип
End Type ; заканчиваем тип



Function Createpxmap(tyrp1$)  ; создаём функцию
mp.map = New map ; создаём тип
mp\mesh=loadmesh(tyrp1$) ; загружаем меш в тип
End Function ; заканчиваем функцию


также код для
примера
Код:



Graphics3D 800, 600,32,2


AmbientLight 255,255,255

        SetBuffer BackBuffer()       
       

piv = CreatePivot()
Global camera = CreateCamera(piv)
pl=LoadMesh("0.3ds")

ps=LoadMesh("1.3ds")



filemapx = ReadFile("map.dat") ;Открываем файл нашей карты
kolx = ReadLine(filemapx) ;Считываем количество строк с моделями
For i=1 To kolx
tyrp1$=ReadLine(filemapx) ;считываем адрес модели из строки
Createpxmap(tyrp1$) ; запускаем функцию и задаём адрес модели
Next ; далее
CloseFile filemapx ;Закрываем файл




PositionEntity camera,40,0,0
TurnEntity camera,0,90,0
CameraRange camera,1,9000
lh = CreateLight(1, cam)

While Not KeyDown( 1 )


PositionEntity piv ,EntityX(ps),EntityY(ps),EntityZ(ps)
  mxspd#=MouseXSpeed()*0.2
  myspd#=MouseYSpeed()*0.2

 MoveMouse GraphicsWidth()/2,GraphicsHeight()/2

  campitch=campitch+myspd
  If campitch<-89 Then campitch=-89
  If campitch>89 Then campitch=89
  RotateEntity piv,0,EntityYaw(piv)-mxspd,campitch



UpdateWorld ()

RenderWorld

               
Flip
Wend

End



Type map  ; начинаем тип
        Field mesh ; добавляем тип
End Type ; заканчиваем тип


Function Createpxmap(tyrp1$)  ; создаём функцию
mp.map = New map ; создаём тип
mp\mesh=LoadMesh(tyrp1$) ; загружаем меш в тип
End Function ; заканчиваем функцию

вот и всё думаю статья пригодится многим
также в тип можно ставить адреса текстур изображений звуков и видео
Tirarex@2012 :super:

reumep 08.01.2012 21:41

Ответ: загрузка обьектов из файла
 
я так разумею, что это новый™ способ шифрования? или это такой своеобразный черезпопный способ хранения списка файлов?

tirarex 09.01.2012 00:18

Ответ: загрузка обьектов из файла
 
список моделей для загрузки в файле и чем он плох ????
обоснуй !

dsd 09.01.2012 01:42

Ответ: загрузка обьектов из файла
 
Добавлю от себя полезностей.
1. Никогда не надо сокращать название переменной. Тем более что нормальное иде поймет с 3-4 буквы нужную переменную и предложит автозавершение.
2. Не надо использовать в названиях переменной русский. В любой момент можно открыть гугл и узнать нужное слово на английском. Польза и прогеру и читателю.

Данил 09.01.2012 19:57

Ответ: загрузка обьектов из файла
 
Еще лучше вариант -
http://blitzetc.blitzmax.ru/index.ph...%D1%8 2%D1%8C

Наверное, даже я бы сказал, самый лучший.


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

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