信息掩码游戏地图掩码相关(msk)

上班之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下信息掩码

      在游戏的天下里,玩家在舆图上的某点,是否可以走动,是否碰到障碍,是否是走到了阴影处,是否水层等等先关信息都要我们前后端晓得。

    那么服务器是如何停止实现的呢。上面主要给大家讲讲。

     首先,我们晓得图片是以像素为主要为单位停止计量,但是我们后端又不能应用这个东西,在二维的天下观里,我们是以坐标(x,y)具体的表现出其某个东西,所在的位置。因此,我们就要通过这个像素来抒发出地点。

     

      设想一下啊,当我们肯定到一个坐标的时候,但我们将其慢慢变大,那个小点就开始表现长宽。因此我们也用其道理。因此,我们是以将舆图划分为很多个小格子,这些小格子,其实就代表了所谓的一个点,那么这个小格子是多大呢,这里我们一不超过50的为单位,作为长和宽。

      那这个小格子怎么样去抒发具体的信息呢,处,每一个因此,我们约定,用1个字节来表其信息,一个字节八位0000 0000,每一个位具体可以表示什么含义,比如,第一位如果0表示可行走,1表示障碍。第二位0表示无遮掩,1表示遮掩。等,这里我就不逐一举出。不同游戏有不同的具体抒发信息。

       好,那么我们划分了很多歌小格子,每一行都有雷同的小格子,那么我们就晓得了这个舆图,长有多少个各自,高有多少个格子。

    设计一个结构体,头

struct tagMapHead
{
    int     m_width;//舆图的宽
int     m_height;舆图的高
    每日一道理
我拽着春姑娘的衣裙,春姑娘把我带到了绿色的天下里。
short   m_tileSize;//小格子的变长
};

    
在这里,我们用了正方形抒发,其实我们可以用长方形,我还见过菱形的,各个游戏不一样 。然后,头信息主要是这些,然后,将通过舆图编辑器,把每一个格子根据舆图的基本信息,画图。然后通过工具具体生成。

    头+包体。就生成了msk文件。

 

    当前端生成了msk后,我们后端开始对其停止数据解析了。

    服务端的具体存数据是

struct TMapMask
{
	int		m_iSize;
    int   m_lWidthMasks;
    int   m_lHeightMasks;
    int   m_lMaskPixelWidth;
    int   m_lMaskPixelHeight;

	MASK_BIT_TYPE   m_pMaskData[1];
};

    
 

    根据msk二进制文件,后端停止解析,因为,我们每一个舆图,还有个基本的信息配置表,因此,我们就根据其掩码信息,将其一些数据附加到舆图的结构体里。

    比如,舆图最大坐标,舆图巨细,按照我们的规定,这个舆图有哪些动态区域。(动态区域,以后回去讲授),等等数据信息,供以后我们在舆图上应用。

    在这里舆图掩码主要讲授完毕。

    以后会将,我们是如安在舆图上,看到玩家的。

 

 

文章结束给大家分享下程序员的一些笑话语录: 警告
有一个小伙子在一个办公大楼的门口抽着烟,一个妇女路过他身边,并对他 说, “你知道不知道这个东西会危害你的健康?我是说, 你有没有注意到香烟 盒上的那个警告(Warning)?”
小伙子说,“没事儿,我是一个程序员”。
那妇女说,“这又怎样?”
程序员说,“我们从来不关心 Warning,只关心 Error”

--------------------------------- 原创文章 By
信息和掩码
---------------------------------

posted @ 2013-05-30 21:02  坚固66  阅读(541)  评论(0编辑  收藏  举报