本文實例講述了JS/HTML5游戲常用算法之碰撞檢測 地圖格子算法。分享給大家供大家參考,具體如下:

這種算法經常用于RPG(早期的《最終幻想》、《DQ》、《仙劍奇俠傳》)、SLG(《炎龍騎士團》、《超級機器人大戰》)、PUZ(《俄羅斯方塊》、《寶石謎陣》)類型的游戲。這類游戲中,通常情況下整個地圖都是由一些地圖塊元素組成,在制作的時候首先給制作出地圖所需要的最基本的元素進行編號,然后把這些編號的地圖塊組合起來就可以根據需要形成任意大小的地圖。
早期的RPG類型或者SLG類型的游戲可以明顯地看出游戲中的地圖是由一些小的地圖塊格子而成,采用這種方式組成地圖的好處是節約內存的使用,并且不需要太多的地圖元素就可以任意組合成足夠大的地圖,簡單靈活,缺陷就是最后制作出的地圖不太美觀。但實際上為了便于游戲中的碰撞檢測,比如人物碰到NPC或者是碰到不可跨越的障礙等情況,在游戲中實際上還是保存了一張看不見的邏輯層。這個層的大小和地圖等大,并且也進行了格子劃分,主要目的就是為了碰撞檢測,通常我們在游戲中對這個碰撞邏輯層使用一個數組描述信息,使用 1 表示不可以通過,0表示可以通過,假設人物和NPC在游戲中行走,這種情況下我們就很容易檢測地圖中人物是否碰到了NPC或者障礙物。
var mapArr = [
1, 0, 0, 1,
0, 0, 0, 1,
0, 1, 0, 0,
1, 0, 0, 1
];
文章名稱:JS/HTML5游戲常用算法之碰撞檢測地圖格子算法實例詳解-創新互聯
URL標題:http://www.yijiale78.com/article38/cdjhpp.html
成都網站建設公司_創新互聯,為您提供標簽優化、軟件開發、定制網站、動態網站、網站維護、網站排名
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯