0
好了,所以我試圖讓使用該算法遊戲:http://www.codeproject.com/Articles/15573/2D-Polygon-Collision-Detection如何讓這個碰撞檢測算法一次解釋所有對象?
但我需要它來計算所有可能與選手對象發生碰撞,而不是一次一個對象。我怎樣才能做到這一點?或者我需要使用另一種算法?因爲如果你在兩面牆之間,這個會把你推到牆上。
好了,所以我試圖讓使用該算法遊戲:http://www.codeproject.com/Articles/15573/2D-Polygon-Collision-Detection如何讓這個碰撞檢測算法一次解釋所有對象?
但我需要它來計算所有可能與選手對象發生碰撞,而不是一次一個對象。我怎樣才能做到這一點?或者我需要使用另一種算法?因爲如果你在兩面牆之間,這個會把你推到牆上。
檢測碰撞和解決碰撞是兩個獨立的步驟。你提到的算法檢測到碰撞,沒有什麼能阻止你使用它來檢測你感興趣的所有物體的碰撞。
解決碰撞是一個更有趣的過程,因爲你需要決定每個碰撞的實際含義 - 即與箭頭碰撞與牆壁的碰撞會產生不同的效果。解決多次碰撞(即如你所提到的「在角落/狹窄隧道中的物體」)可能需要一定的創造力 - 也就是說,你可能不得不違反你的物理計算所說的話,並在一些合理的狀態下移動物體。
一個可能工作的簡單方法是通過縮短時間步驟來避免多次碰撞。您仍然會遇到「角落中的對象」情況,但不太常見,可能會有簡單的解決方法。