为没有Box2D的libgdx Actors实现冲突检测

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为没有Box2D的libgdx Actors实现冲突检测相关的知识,希望对你有一定的参考价值。

我正试图在没有使用Box2D的情况下为libgdx actor(玩家和敌人)实现碰撞检测。正如我所读到的,Box2D支持内置碰撞检测,但由于我的游戏不涉及环境中的任何物理因素,我对使用Box2D感到不舒服。

我发现的许多例子通过为此定义边界框(Rectangle)来启用碰撞检测,但我正在寻找内置解决方案。

答案

如果您不想使用Box2d Inbuilt碰撞,那么您始终可以使用Rectangle的重叠方法来检查某些矩形是否已相互重叠(或碰撞)。

所以Rectangle重叠方法的工作原理如下:

Rectangle rect1 = new Rectangle();
Rectangle rect2 = new Rectangle();
if(rect1.overlaps(rect2)){ //do your stuff here }

这里需要注意的一点是,您始终可以将纹理放在矩形所在的位置。因此碰撞矩形也会让你碰撞你的精灵/纹理。

我希望你可能已经知道如何做到这一点,但下面仍然是一个例子:

batch.draw(myTexture,rect1.x,rect1.y,100,100);

以上是关于为没有Box2D的libgdx Actors实现冲突检测的主要内容,如果未能解决你的问题,请参考以下文章

1.Libgdx扩展学习之Box2D_入门介绍

1.Libgdx扩展学习之Box2D_入门介绍

1.Libgdx扩展学习之Box2D_入门介绍

3.Libgdx扩展学习之Box2D_夹具

3.Libgdx扩展学习之Box2D_夹具

3.Libgdx扩展学习之Box2D_夹具