Показать сообщение отдельно
Старый 10.04.2012, 16:34   #5
burovalex
Разработчик
 
Аватар для burovalex
 
Регистрация: 04.04.2012
Сообщений: 468
Написано 37 полезных сообщений
(для 60 пользователей)
Ответ: Правильная загрузка конфиг файла

Прикольно!
Мне до такого еще далеко...
Объясните пожалуста, зачем нужна точка в функции CfgLoader_ParseParam.TOneCfgParam(OneLine$)
Т.е. функция пишется специально для этого типа?

И еще, я сейчас пишу загрузчик уровня, прокоментируйте пожалуста какие недостатки и подводные камни могут быть

Function LoadLevel(levelName)
sx#=0.0
sy#=0.0
sz#=0.0
Select levelName
Case levelNameMain
file
=OpenFile("main.lev")
End Select

While Not Eof(file)
s$=ReadLine(file)
;
ищет объект
If StrLeft(s,"ground")=True Then sEntity=CreateTerrain(256)
If 
StrLeft(s,"tree")=True Then tree.tree=New tree tree\entity=LoadMesh("tree.b3d")
;
ищет параметр
If StrLeft(s,"x")=True Then MoveEntity sEntity,FloatRight(s),0,0
If StrLeft(s,"y")=True Then MoveEntity sEntity,0,FloatRight(s),0
If StrLeft(s,"z")=True Then MoveEntity sEntity,0,0,FloatRight(s)
Wend 
CloseFile file
End 
Function

Function 
StrLeft%(Str1$,Str2$)
If 
Left(Str1,Len(Str2))=Str2 Then Return True 
End 
Function

Function 
FloatRight#(S$)
s=Trim(s)
ReadThis%=True
res
$=""
tmp$=""
For i=0 To Len(S)-1
    simbol
$=Mid(S,Len(s)-i,1)
    If 
ReadThis=True
        
If (Asc(simbol)>=48 And Asc(simbol)<=57) Or simbol="." Then
        res
=simbol+res    
        
Else
        
ReadThis=False
        
EndIf
    EndIf
Next
Return Float(res)
End Function 
__________________
(Offline)
 
Ответить с цитированием