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

时间:2017-04-22 12:18:10

标签: java android libgdx collision-detection

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

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

1 个答案:

答案 0 :(得分:0)

如果您不想使用Box2d Inbuilt collision,那么您始终可以使用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);