2012-11-17 102 views
1

我正在做的碰撞檢測的一個遊戲,水平隨機從塊生成每個都有自己的邊界框。我的碰撞檢測是確定的,除非有時候,玩家船可以同時碰撞2個或更多的方塊,我需要確定它碰到的是哪一個。碰撞和矩形/線相交

我已經計算出如果我發現船舶邊界框的角落在它的運動方向上,然後從該角落(圖上的紅線)的船舶運動矢量的相反方向畫一條線,那個線路上的最遠點將在第一個箱子命中。 我只是不知道如何編程該邏輯!

我有

  • 列表的邊框(矩形)與
  • 船舶運動(Vector2)
  • 船舶邊框相撞工作(Reactangle)

enter image description here

回答

0

我的做法是:添加另一組的邊框到市p更小,更敏捷。如果發生碰撞,您應該開始檢查較小邊界框的比例。 據我所知,很多遊戲都是這樣做的,以避免不必要的碰撞檢查,但有辦法在發生碰撞時更加精確地確定碰撞。

+0

是的,這是一個好主意!但如果我理解正確,我想我仍然會遇到這個小問題。如果有曾經在同一平面上2個邊框它總是能夠在同一時間 –

+0

2碰撞你可以有越來越多的鱗片,並有繼續縮小,直到你只能有一個碰撞左側。 – phil13131

+0

好的,這聽起來相當先進 –