谢谢。,我发现在对象本身中存储表示对象与哪些单元格重叠的二进制数更容易(我猜也更快)(而不是为每个单元格保存一个数组)。我认为它被称为空间蒙版。,更具体地说,在任何碰撞测试之前,我为
topLeft
、topRight
计算2^(x/column_width + columns*y/row_width)
…然后将这4个组合成一个数字(使用按位OR),这样我就得到了一个类似5
(00000011
,表示对象命中单元格1和2)的数字。,使用这种方法,然后使用所有其他对象继续测试每个对象,但如果它们不在同一单元格中,则跳过较慢的部分:,这篇关于二维均匀网格碰撞检测算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,