Многие хотят сделать чтоб игра загружала несколько обьектов из файла 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