Re: [問題] 偵測碰撞

看板Flash作者 (Kannushi Link)時間17年前 (2007/06/10 17:31), 編輯推噓3(301)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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

06/10 20:02, , 1F
謝謝~
06/10 20:02, 1F

06/10 20:02, , 2F
這個適用於不規則形狀嗎?
06/10 20:02, 2F

06/12 21:01, , 3F
當然可以:)
06/12 21:01, 3F

06/13 00:00, , 4F
謝謝~
06/13 00:00, 4F
文章代碼(AID): #16QyJitd (Flash)
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
文章代碼(AID): #16QyJitd (Flash)