📄 cmap.h
字号:
//地图类
//作者:吴振华(kylinx)(中国科大01级11系)
//E-mail:game-diy@163.com
//Created 2003/6/27 by Kylinx
#ifndef LOA_MAP_H_
#define LOA_MAP_H_
#include<windows.h>
#include"CDataBase.h"
#define LOA_MAP_INFO "LoaV1.0"
//-------------------------------地图事件定义----------------------------------------------
#define LOA_MAP_FLAG_CHANGE_MAP 1 //地图事件——切换地图
#define LOA_MAP_FLAG_LOAD_SCRIPT 2 //地图事件——读取脚本
//-----------------------------------------------------------------------------------------
struct STTile
{
unsigned IDObj_1:8; //第一层图快所在的图片编号,最多254张
unsigned xObj_1:12; //第一层图快坐标
unsigned yObj_1:12;
unsigned IDObj_2:8; //第二层图快所在的图片编号
unsigned xObj_2:12;
unsigned yObj_2:12; //第二层图快坐标
unsigned bCross:1; //是否能穿过1-能,0-否
unsigned flag:7; //该块的事件(比如,切换地图等等)
unsigned Layer1:4; //第一层的物体层次0-15
unsigned Layer2:4; //第二层的物体层次0-15
unsigned flagdata:16; //事件的数据(比如,flag为切换地图的事件时候,此数据表示切换到哪一幅地图(用id表示))
};
struct STTileAni
{
DWORD dwPicID; //所在图片编号
DWORD dwDelay; //延时
DWORD dwFrames; //总帧数
DWORD dwCurrentFrame; //当前帧
DWORD dwOldTime; //时间
POINT*pPos; //位置
};
struct STMapHead
{
char szMapInfo[8]; //地图说明
char szMapName[22]; //地图名
short bRandomBattle; //是否随机战斗
int ID; //id
int Width; //宽
int Height; //高
int groundID; //地表层的图快所在图片编号
int xGround,yGround; //地表层的图块位置
};
class CLog;
class CMap
{
CLog *m_pLog; //日志
BOOL m_bOwnLog;
public:
STMapHead m_head; //文件头
STTile **m_ppTile; //数据
public:
CMap(CLog*pLog);
virtual ~CMap();
BOOL GetMapHead(const char*szFile,STMapHead*pHead);
BOOL NewMap(int width,int height); //新地图
BOOL SaveMap(const char*szFile,int ID); //保存地图
BOOL LoadMap(const char*szFile); //读取地图
};
struct STChangeMapData
{
int ID;
char szName[128];
};
//DECLARE_DATABASE_CLASS(STChangeMapData,CChangeMapDataBase); //地图数据库
struct STLoadScriptData
{
int ID;
char szName[128];
};
//DECLARE_DATABASE_CLASS(STLoadScriptData,CLoadScriptDataBase);
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -