2012-08-17 81 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