0

LibGDX 是否具有独立于快照的碰撞检测器?例如,我不想使用Box2D并且想要检测非常快的物体的碰撞。我知道它具有Intersector为此目的而设计的类,但我不能将它用于非常快的对象,因为它对它们不起作用。那么,LibGDX 有这种类还是我应该自己实现呢?

4

4 回答 4

2

libgdx 中没有类似的东西。它可以通过box2d来实现,但你不想那样......所以你必须自己写一些东西。

我认为您的问题是如果对象太快以至于它完全通过其他对象而没有给出任何 collison 回调。

基本上你想要的是预测碰撞。这意味着您发现碰撞将在前一步发生。然后采取相应的行动..

尝试这个

http://seb.ly/2010/01/predictive-collision-detection-techniques/

于 2013-07-02T15:34:19.910 回答
2

LibGDX 没有任何内置的东西来做扫描碰撞检测/响应(除了 Box2D 提供的)。

如果您实现自己的,这里有一篇关于 gamedev.net 的文章:

http://www.gamedev.net/page/resources/_/technical/game-programming/swept-aabb-collision-detection-and-response-r3084

于 2013-07-02T15:12:36.927 回答
2

我发现了不同碰撞检测的实现,例如circle and lineor circle and circle。但它是用俄语编写的,用于Macromedia Flash MX扫描碰撞检测 如果有人希望将这些函数转换为 Java,欢迎您!:)

于 2013-07-02T15:38:39.833 回答
0

如果您使用 Rectangle 或 Circle 作为边界,您可以使用

Rectangle bound1=new Rectangle(0,0,10,10);
Circle c=new Circle(0,0,10);

if(c.contains(vector.x,vector.y))
{
//do something
}

if(bound1.contains(vector.x,vector.y))
{
//do something
}

这应该可以帮助你

于 2013-07-02T14:56:17.803 回答