2012-08-17 31 views
0

我有3-4名玩家在遊戲中和許多物體(如石頭,樹,仙人掌......等)。我必須找到物體和玩家之間的碰撞檢測。如何在許多玩家之間獲得碰撞檢測

什麼是速度性能最簡單的方法來找到對象和玩家之間的碰撞。

如果我通過球員位置步進運動對象類找到碰撞檢測它可能是緩慢的性能(each_step_of_player * ALL_OBJECTS)。

另一個想法我是,我會寫一個時間表功能在Object類中的每個對象和每個調度函數調用我會檢查所有玩家位置(對象* all_players)碰撞。這個關於速度性能的想法如何?

任何其他想法將不勝感激?

回答

0

您可以使用基於網格的碰撞檢測。

玩轉你的屏幕成方形細胞的網格,每個單元至少一樣大,最大的對象(這很重要)。基於對象的中心位置,每個對象都被分配一個單元格。移動對象時,將其重新分配給相應的單元格。現在,您不必檢查對象是否與其他對象碰撞,僅針對其單元格和相鄰單元格中的對象。

+0

聽起來不錯!任何參考將是光榮:)。 – 2012-08-17 13:45:31

+0

請參考「如何獲取更多信息」?我閱讀了Keith Peters撰寫的「AdvancED ActionScript 3.0動畫」中基於網格的檢測。 – Kreiri 2012-08-17 14:25:38