LibGDX - 用于检测碰撞的独立间隔器

时间:2013-07-02 13:11:35

标签: collision-detection libgdx physics game-engine

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

4 个答案:

答案 0 :(得分:2)

LibGDX没有任何内置功能可以进行扫描碰撞检测/响应(除了Box2D提供的内容)。

这是一篇关于gamedev.net的文章,如果你实现自己的话,它就会涵盖它:

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

答案 1 :(得分:2)

libgdx中没有任何类型的东西。它可以通过box2d实现,但你不想要......所以你必须自己写一些东西。

我认为你的问题是如果对象太快而没有给出任何collison回调它完全传递其他对象。

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

试试这个

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

答案 2 :(得分:2)

我发现了circle and linecircle and circle等不同碰撞检测的实现。但它是俄语和Macromedia Flash MXswept collision detection 如果有人希望将这些功能转换为Java,欢迎您! :)

答案 3 :(得分: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
}

这应该有助于你