游戏常常以地图为单位,地图信息中处理地图本身的地形外,还包含地图上需要加载的各个物体的信息。
我们以配置文件的形式加载地图,文件中除了地图的高度图外,还有地图上的物体加载的信息,每个物体包含了id和位置信息(x和z,y由地形自动的判断)。
[Map]
HeightFile=RES\HeightMap\Map2.bmp
PathFile=
[OBJList]
OBJ1=7,30,49
OBJ2=2,10,39
OBJ3=4,40,-9
OBJ4=6,10,-81
OBJ5=3,50,-21
加载GameObj时也是用到读取配置文件的方法,其中包括.x文件,纹理,缩放和旋转的值,以及游戏中逻辑的内容。简单例子如下:
[OBJ]
XFile=RES\\SM\\S001.x
FaceFile=S001.tga
ZoomX=300
ZoomY=300
ZoomZ=300
//模型本地空间旋转偏移
BodyRotaX=
BodyRotaY=
BodyRotaZ=
//游戏逻辑
Name=
HP=
MP=
//阻塞
BlockArea=
OnMapHeight=
//渲染模式
RendType=
读取.ini文件:DWORD GetPrivateProfileString(LPCTSTR lpAppName,LPCTSTR lpKeyName,LPCTSTR lpDefaut,LPSTR lpReturnedString,DWORD nSize,LPCTSTR lpFileName);
读取整形值:UINT GetPrivateProfileInt(LPCTSTR lpAppName,LPCTSTR lpKeyName,INT nDefault,LPCTSTR lpFileName);
其中个参数的意思:
LPCTSTR lpAppName ------- INI文件中的一个字段名
LPCTSTR lpKeyName -------- lpAppName 下的一个键名,也就是里面具体的变量名
LPCTSTR lpString ---------是键值,也就是变量的值, 必须为LPCTSTR或CString类型
LPCTSTR lpFileName --------完整的INI文件路径名
LPCTSTR lpDefaut ----------如果没有其前两个参数值,则将此值赋给变量
LPSTR lpReturnedString --------接收INI文件中的值的CString对象,即接收缓冲区
DWORD nSize ------接收缓冲区的大小
浙公网安备 33010602011771号