Тема: Vivo
Показать сообщение отдельно
Старый 22.04.2012, 16:59   #258
Nikich
Бывалый
 
Регистрация: 22.12.2011
Сообщений: 844
Написано 150 полезных сообщений
(для 275 пользователей)
Ответ: Vivo

В общем, что-то наподобие чанков:
Function CreateWorld()
loading_time=MilliSecs()

For i=-5 To 5
For i1=-5 To 5
fl=WriteFile("map\"+i+","+i1+".txt")
For i2=0 To 15
For i3=0 To 15

a=Rnd(20)
If a=1 
WriteInt(fl,a)
Else
WriteInt(fl,0)
EndIf

Text R1/2-100,R2/2,"Loading: "+(i+5)*(i1+5)*i2*i3+" tiles generated"
Flip(False)
Cls

Next
Next
CloseFile(fl)
Next
Next


Text R1/2-100,R2/2,"Loading time: "+(MilliSecs()-loading_time)+" millisecs"
Flip
Delay 2000
End Function



Function Update_World()
chunk_x=Int((camera_x+R1/2)/512)
chunk_y=Int((camera_y+R2/2)/512)
For i=chunk_x-1 To chunk_x+1
For i1=chunk_y-1 To chunk_y+1
fl=OpenFile("map\"+i+","+i1+".txt")
For i2=0 To 15
For i3=0 To 15
DrawImage tile(ReadInt(fl)),512*i-camera_x+i2*32,512*i1-camera_y+i3*32
Next
Next
CloseFile(fl)
Next
Next
Посоветуйте что и как можно улучшить. Пока проблема в том, что показывается только нынешний чанк, и то расширенный.
P.S. R1 и R2 - ширина и высота экрана.

Последний раз редактировалось Nikich, 22.04.2012 в 20:19.
(Offline)
 
Ответить с цитированием