信息掩码游戏地图掩码相关(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
信息和掩碼
---------------------------------
轉載于:https://www.cnblogs.com/jiangu66/archive/2013/05/30/3109176.html
總結
以上是生活随笔為你收集整理的信息掩码游戏地图掩码相关(msk)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iView学习笔记(三):表格搜索,过滤
- 下一篇: 闲谈.NET中的类型和访问修饰符