[程式] 2D遊戲中的碰撞

看板GameDesign (遊戲設計)作者 (一片死寂)時間16年前 (2009/08/06 22:52), 編輯推噓5(508)
留言13則, 7人參與, 最新討論串1/2 (看更多)
關於在2D遊戲裡面的一些碰撞判斷,小弟有一些疑問。 我在翻書的時候,書上曾說過碰撞的判斷就是圖與圖之間的判斷 ,但是圖大多都是四四方方的,所以在判斷的時候如何做到"精準" 這就有些學問了,書上只有點到而已,並沒有說明。 --------- ------------ - A - - A - - ●_ - _ _ - ● - - _ - _ ------------_ _ _ _ _ ----_----● _ _ _ _ B _ _ ● _ _ _ _ _ _ _ _ _ _ _ _ 可能畫的有點爛...不過書上大概是這樣子講的,右圖的判斷比較好寫 ,但是相對的精準度比較低,左邊的當然精準度就提高了,但相對就要 多寫好幾行CODE,,這兩種我大概都知道怎麼寫,但是我想知道如果真 的要寫到完成是圖與圖相碰(圓與圓碰在一起)才算碰撞的話,理論上來 講應該要怎麼做,或者是說有什麼方向可參考呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.117.128.56

08/06 22:58, , 1F
我有個想法....
08/06 22:58, 1F

08/06 23:20, , 2F
另個想法 可用數個方框來代表範圍(相對於一個方框)
08/06 23:20, 2F

08/06 23:21, , 3F
方框越多當然就越精準啦XD 最高等級就是精準度到像素
08/06 23:21, 3F

08/06 23:21, , 4F
等級(誤)
08/06 23:21, 4F

08/07 09:02, , 5F
怎麼不用PIXEL檢察?
08/07 09:02, 5F

08/07 14:22, , 6F
2d可以用像素是否重疊來偵測碰撞的發生
08/07 14:22, 6F

08/07 15:04, , 7F
比較用判定區域之類的方法 就是一個sprite真正會有判定的
08/07 15:04, 7F

08/07 15:04, , 8F
區域 通常是方形 然後用數學裡面兩個方形有無重疊部份的
08/07 15:04, 8F

08/07 15:05, , 9F
計算就能得到兩個判定區是否有碰撞到
08/07 15:05, 9F

08/07 15:06, , 10F
圓形的話 用多個判定區域來作就可以了
08/07 15:06, 10F

08/07 15:06, , 11F
像很多射擊遊戲的中彈判定都是這樣作
08/07 15:06, 11F

08/07 15:33, , 12F
如果還要包含碰撞反應 每張圖可能都得用多邊形去定義外框
08/07 15:33, 12F

08/07 19:51, , 13F
現行的方法較多是利用圖片的alpha 值來處理
08/07 19:51, 13F
文章代碼(AID): #1AUkufNz (GameDesign)
討論串 (同標題文章)
文章代碼(AID): #1AUkufNz (GameDesign)