這篇文章主要介紹“怎么用html5實(shí)現(xiàn)迷宮游戲”,在日常操作中,相信很多人在怎么用html5實(shí)現(xiàn)迷宮游戲問題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”怎么用html5實(shí)現(xiàn)迷宮游戲”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)于2013年創(chuàng)立,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢(mèng)想脫穎而出為使命,1280元桃源做網(wǎng)站,已為上家服務(wù),為桃源各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:13518219792
游戲效果圖
通過鼠標(biāo)拖拽在畫布上添加墻壁,通過方向鍵控制多邊形上下左右移動(dòng),遇到墻壁則無(wú)法前進(jìn)。
需要解決的問題
鼠標(biāo)按下,鼠標(biāo)拖動(dòng),鼠標(biāo)釋放事件的檢測(cè)
多邊形的繪制
墻壁的繪制
多邊形和墻壁的碰撞檢測(cè)(實(shí)質(zhì)上是圓和線段的相交判斷)
MYCode:
代碼如下:
難點(diǎn)
多邊形和線段碰撞檢測(cè)的方法
函數(shù)intersect()負(fù)責(zé)檢測(cè)多邊形和線段是否相交
記線段上一點(diǎn)p(x,y)
線段2個(gè)端點(diǎn)是(sx,sy)和(fx,fy)
記
dx=fx-sx
dy=fy-sy
x和y可以表示如下
x=sx+t*dx
y=sy+t*dy
要判斷線段和多邊形是否相交,轉(zhuǎn)化為判斷線段和多邊形的外接圓是否相交
為此需要找到線段上離圓心o最近的一點(diǎn)p
如果|op|<圓的半徑,則可以判斷線段和圓相交。
否則不相交。
怎么找到線段上離圓心距離最近的點(diǎn)呢?
p點(diǎn)到o點(diǎn)的距離可以表示為
distance=sqrt((x-cx)*(x-cx)+(y-cy)*(y-cy));
代入
x=sx+t*dx和y=sy+t*dy
可以得到distance是一個(gè)關(guān)于t的函數(shù)
對(duì)此函數(shù)求導(dǎo)
求出函數(shù)值為0時(shí)對(duì)應(yīng)的t值就可以得到距離圓心最近的點(diǎn)
到此,關(guān)于“怎么用html5實(shí)現(xiàn)迷宮游戲”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!