看板 Flash 關於我們 聯絡資訊
假設我現在做一個射擊遊戲 通常在子彈的部份都是使用hitTest來判斷 但是flash的hitTest只能判斷方形 所有不是方形的東西都會視為方形 (如半徑R的球形會視為是邊長2R的正方形,對角線是L的菱形也會視為是邊長L的正方形) 這樣在判斷上很不實際 如果機體是不規則形、或是大的球型子彈、或是斜向發射的雷射 我就不知道要怎麼去做判斷 請問要怎麼解決這樣的問題呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.132.59.20
easy0519:use Bitmaps, pixel by pixel 去判斷 01/08 21:24
easy0519:只是效率不會太好 :( 01/08 21:25
cjcat2266:其中一個用大面積shape定義碰撞區 01/08 21:59
cjcat2266:另外一個用多個判斷點組成物件 01/08 21:59
cjcat2266:這樣算是一種解決方式 01/08 21:59
cjcat2266:你可以子彈用圓形當判斷區,機體上面設幾個"判斷點" 01/08 22:00
cjcat2266:只要有任何一個判斷點跟子彈有碰撞,就是碰撞成功 01/08 22:00
no1kk:子彈比較好解決,因為有飛行方向,我只要在前端設判斷區 01/09 07:51
no1kk:但是像是雷射光或是護盾這種東西就很難去想.. 01/09 07:51
no1kk:像小遊戲版有個遊戲"設計要塞"裡面有星形的護盾.. 01/09 07:52
no1kk:還有可以斜向發射的雷射,這好像用上述方式都沒辦法解決@@ 01/09 07:53
etrexetrex:應該用 點到直線的距離公式 判斷? 01/09 16:46
cjcat2266:一般3D碰撞判斷也只是用近似的方式 01/09 16:49
cjcat2266:所以看你要怎麼用吧,我是習慣簡單的形狀和判斷點混搭 01/09 16:49
cjcat2266:要做完美判斷的話會很消耗資源的 01/09 16:49
Jedic:我的老辦法都是用當子彈碰撞機體時,判斷他離機體中心的距離 01/10 04:02
Jedic:這樣碰撞區域會呈一個圓形 01/10 04:03