Тема: Vivo
Показать сообщение отдельно
Старый 23.04.2012, 10:02   #262
Жека
Дэвелопер
 
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений
(для 886 пользователей)
Ответ: Vivo

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
;;;If 512*i-camera_x+i2*32<camera_x+R1 And 512*i1-camera_y+i3*32<camera_y+R2 And 512*i-camera_x+i2*32>camera_x And 512*i1-camera_y+i3*32>camera_y
DrawImage tile(ReadInt(fl)),512*i-camera_x+i2*32,512*i1-camera_y+i3*32
EndIf
Next
Next
CloseFile(fl)
Next
Next

Четверной цикл, это раз. грузишь из файла в главном цикле - это жестокое два.
За оперативку не беспокойся, грузи сразу все чанки своего уровня. А вот проход по чанкам делай в зависимости от того - влазит ли чанк в область экрана или нет. Те что не влазят просто пропускаются.
(Offline)
 
Ответить с цитированием