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