1

我正在尝试使用盒子进行碰撞。我想精确地处理碰撞,所以我正在考虑制作多个小盒子并以这种方式检查碰撞。这可能是一个愚蠢的想法或一个聪明的想法。谁知道,这就是我问你们的原因。如果我这样做会影响游戏的性能,即使盒子是不可见的并且不会在舞台上绘制。

另一个想法是从中心向外绘制对象。像右,左,上和下。我正在创建一个飞行射击游戏,因此飞机的翼展很长。我还可以绘制出机翼跨度和机尾等。

4

2 回答 2

1

考虑使用边界框/圆进行初始碰撞,如果测试通过,则使用逐像素/详细碰撞。

于 2010-01-31T03:13:53.420 回答
1

在游戏和物理引擎中,通过对象的“轴对齐边界框”(AABB)来跟踪对象是一种非常常见的方法,即由它们的边界指定的框。只要对象与舞台相比,这通常会为您节省很多性能。

这样做的主要原因是有很好的方法可以使用 AABB 来实现非常快速的碰撞测试,或者更准确地说,可以非常快速地消除碰撞测试的候选对象(当对象的 AABB 不重叠时)。将每个对象与每个其他对象进行比较需要 N^2 次比较,但是保留基于 AABB 的各种数据结构可以让您在 O(N) 时间内消除碰撞候选(除了维护结构所需的时间)。

要了解这是如何完成的,您可能想检查一个物理引擎,例如box2Dflash,它在内部跟踪 AABB 以进行碰撞测试。

于 2010-01-31T23:06:00.877 回答