在上一個項目(2D自上而下的遊戲)中,碰撞檢測非常簡單,檢測後如何處理。一切只能在4個方向上移動 - 上/下/左/右。光盤。像那樣工作:[物理] [2D] [碰撞]發生碰撞後應該怎麼辦
- 正常移動對象。
- 如果物體與其他物體相撞移回這取決於 方向這是怎麼回事(如往上走,打的東西會 打動你正好這個對象下文)
但現在我的工作一個項目,一切都可以在360 *中移動,所以我無法確定在檢測到碰撞後要移動這個對象的位置。由於大多數物體都有圓形的c.d.對我來說(自上而下的射手),所以我可以做這樣的事情:
- 移動對象爲正常
- 如果物體與其他物體相撞,這兩個 對象之間檢查角度,並設置其撞到了一個在另一邊的 其他人使用計算角度的圓。
的PIC它是如何工作的:
,我不知道這是做這樣的事情正確的方法。 其他的想法是:
- 計算新的位置,但不保存它尚未
- 檢查是否有新的位置不會有任何衝突
- 如果沒有 - 保存位置
- 如果是這樣 - 不動
它更容易檢測到它,但是我猜會有空隙嗎? 因此,任何想法如何面對在360 *方向可以移動的圓形物體時的碰撞?
//編輯: 另外 - 遊戲將自上而下二維殭屍般的射手。 我確實對這兩種解決方案進行了編碼,並注意到: 如果存在這種情況,那個即時通訊站在這裏,並且有兩個殭屍。當第一次到我這裏時,他停下來。在角度版本中,第二個環繞着他,試圖靠近我。在其他版本中,他只是停下來。 在天使版中一切都會很好,但是如果有很多「殭屍」,他們往往會在他們周圍繞圈,甚至一個接一個時跳躍。 :|在技術上我可以通過它,因爲他們不必在遊戲中兩個殭屍之間保持恆定的最小距離,但有時它看起來很糟糕,我不想立即減少殭屍的數量。