我一直在C#編碼幾年,現在決定嘗試XNA框架來製作遊戲。XNA碰撞檢測與遊戲速度對比
它很好,直到我開始在我非常簡單的遊戲中實現碰撞處理。
我可以理解如何使用BoundingBoxes和BoundingSpheres進行碰撞檢測,但是在查看遊戲中的刷新率之後,如果兩個碰撞對象從未被檢測爲碰撞,它很快成爲我的一個擔憂。
讓我試着用一個例子來解釋: - 如果一個角色用另一個角色的槍射擊。 - 子彈直奔其他角色。 - 子彈在角色前面呈現。 - 由於子彈高速度,它現在在角色的另一側呈現。
在這種情況下,項目符號和角色從不發生衝突,因爲它們永遠不會呈現在它們的碰撞狀態。
那麼如何確保在這種情況下檢測到碰撞?
另請注意,每次您使碰撞檢測更復雜時,性能問題都會開始顯現。我所做的是創建一個ThreadPool並傳遞所有可碰撞對象的框架,並且每個可碰撞對象都有一個碰撞事件。 ThreadPool允許在所有可用的線程上進行衝突檢測。 – 2012-07-21 19:00:15