2012-11-14 89 views
1

可能重複:
Basic 2d collision detection如何檢測c#中兩個圖像之間的碰撞?

希望你能幫助我這一個。我是C#的新手,所以我很缺乏經驗。但基本上我試圖製作一個遊戲,其中某些物體從天而降。像羽毛這樣的物體需要一段時間才能落下,而金屬球會掉落得更快。你從一定數量的現金開始,可以購買你選擇的武器放在地下。現在我從來沒有做過與碰撞事情有關的任何事情,所以簡單的答案將有很大的幫助!

這裏有一些碰撞,將在遊戲中:(不知道是否不同類型的碰撞都不同編碼)

  • 墜物之間子彈和高空墜物
  • 碰撞的碰撞地面(它是無生命的)
  • 墜落物體與另一物體周圍的某個半徑之間的碰撞(例如,如果武器從其中心開始發射輻射束)
  • 旋轉物體之間的碰撞(旋轉ing刀片)和下降的物體

如果有人可以幫助我,這將是非常感謝!

+0

我同意@Vyktor在這裏,這是一個騙局(這不是犯罪,它只是社區的一般管家) - 我也希望你沒有使用* images *來處理你所談論的所有事情 - 爲了準確的碰撞檢測,您需要使用碰撞對象的儘可能數學表示。例如。一個梁將是一個向量,一個球將是一個點+半徑(或者如果方向是重要的話,實際上是點+向量)。 –

回答

0

幾個月前我有一個類似的問題與海流計算。另外還有一個算法要解決(在10年前爲電影學校舉辦的比賽),關於卡片打到地面並檢測是否過度平鋪。

隨着海流我有幾乎無限的流路徑向量,所以我計算最小半徑,其中目前是不受障礙影響。如果電流接近障礙物(在最小半徑範圍內),則開始真正的計算。

關於卡片。卡由4分表示。可以說2d,(0,0),(1,0),(0,1),(1,1)。檢測另一張卡是否與其重疊,只是檢測是否有任何第二卡點放在該方格內,反之亦然。

對於真正的子彈/羽毛碰撞檢查Vyktor先前提到的主題。