2017-04-20 82 views
1

我正在使用Rectangle類中的Intersects調用檢查斯諾克球之間的碰撞 - 每個球都有一個定義其hitbox的Rectangle。如何在給定開始和結束時創建矩形路徑矩形

我的代碼是如何工作的是我有矩形代表白球的舊位置和一個新的位置。從這裏我需要檢查舊位置和新位置之間是否存在與另一個球的碰撞。

這是我希望得到一些幫助的地方,如果舊位置和新位置之間可能發生碰撞,創建路徑/檢查的最佳方式是什麼?

圖像表示

enter image description here

+0

你不能重疊當前位置的圖像,然後尋找是否有碰撞或不? – harshkn

+0

不知道你在說什麼。我從字面上有兩個矩形 - 舊位置矩形和新位置矩形。沒有其他信息,除了其他球的矩形列表。試圖找出如何沿着路徑移動舊位置矩形,它會檢查每一步是否與任何事物發生碰撞。 – NeverImageProcess

回答

1

要測試兩週界發生了碰撞,你可以兩個圓的中心之間的距離比較半徑的總和。如果距離較小,則發生碰撞。

對於矩形,可以使用Rectangle.intersects(矩形)到最後一個位置的圖像

+0

我知道 - 碰撞本身不是問題。試圖找出如何從舊位置到新位置是問題所在。如果一個框架有舊的位置,下一個框架有更新的位置,我需要看看新舊位置之間是否有另一個球。 – NeverImageProcess