⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cmap.h

📁 一个个人开发的rpg游戏<亚特兰蒂斯传奇>的源码
💻 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 + -