看板 Flash 關於我們 聯絡資訊
※ 引述《evabird (匠氣逼人)》之銘言: : 我用一個區塊來做偵測碰撞 : 可是發現不規則的形狀電腦還是以一個方塊來計算 : 也就是說空白的部份也會被算在偵測範圍 : 同學是說把區塊作小塊一點 做很多個 : 請問還有別的方法可以解決這個問題嗎?? : 謝謝 可以考慮把圖形外框分成幾個點來偵測 例如:如果圖形是菱形的話,可以在頂點用偵測點,然後在每個邊中間在用一個偵測點 偵測點的數量要視情況而做好設定 當然偵測點不要弄太多,要不然跑起來會lag ------ 之後把所有偵測點對movieclip的相對座標(就是點在movieclip裡的XY座標)找出來 然後把所有座標弄成一個二維陣列(例如pt=[[0,5],[5,0],[-5,0],[0,-5]]) 最後程式要用這個(寫在要碰撞的物件裡): for (i = 0;i < A;i++){ if(MCname.hitTest(this._x+pt[i][0],this._y+pt[i][1],true)) { //要做的動作 } } MCname = 被碰撞的movieclip名稱 X和Y是偵測點的相對座標 A是偵測點數量 希望這對你有用:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.169.49.66
evabird:謝謝~ 06/10 20:02
evabird:這個適用於不規則形狀嗎? 06/10 20:02
kannushilink:當然可以:) 06/12 21:01
evabird:謝謝~ 06/13 00:00