在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ 請(qǐng)問 canvas 畫出多個(gè)相互碰撞的小球,怎么在每個(gè)小球上添加事件

請(qǐng)問 canvas 畫出多個(gè)相互碰撞的小球,怎么在每個(gè)小球上添加事件

canvas 在畫布畫出多個(gè)小球碰撞,請(qǐng)問如何給小球添加點(diǎn)擊事件?

據(jù)我所知,畫布上添加事件實(shí)際上獲取畫布上的某個(gè)區(qū)域來固定一個(gè)事件?是否小球不斷改變位置就不可以加了?除非每個(gè)小球的活動(dòng)空間是固定的?
謝謝。

回答
編輯回答
黑與白

canvas上畫的球 你肯定能獲取到球的圓心坐標(biāo),只需要判斷你鼠標(biāo)點(diǎn)擊的點(diǎn)和圓心的距離, 是否小于半徑,小于半徑就說明在圓內(nèi) 就可以出發(fā)點(diǎn)擊事件

2017年2月13日 15:01
編輯回答
無(wú)標(biāo)題

把每個(gè)球當(dāng)作一個(gè)對(duì)象,擁有自己的寬高半徑。每秒計(jì)算位置,如果和別的球的距離小于半徑,就說明碰撞了

2017年7月9日 02:53
編輯回答
薄荷綠

每個(gè)球都含有自身的坐標(biāo)和半徑等信息,在用戶點(diǎn)擊的時(shí)候?qū)λ械那蜻M(jìn)行遍歷,看看是否達(dá)到要求。

2017年9月15日 13:24
編輯回答
菊外人

給球體建一個(gè)構(gòu)造函數(shù),定義其width、height、speed、move方法等。
監(jiān)聽鼠標(biāo)在canvas上的坐標(biāo),然后判斷是否在哪個(gè)球的范圍內(nèi)或不在范圍內(nèi)。

2017年7月18日 19:25
編輯回答
久愛她

這個(gè)很好解決,只需要將每個(gè)圓作為一個(gè)對(duì)象,維護(hù)對(duì)象內(nèi)的坐標(biāo)信息就行了。
可以嘗試一下這個(gè) canvas 2d 渲染庫(kù),https://www.github.com/PengJi...
體量小,功能強(qiáng)大,支持畫圖,圖形綁定時(shí)間,拖拽,放大縮小等。
希望對(duì)你有所幫助。

2018年3月18日 09:34