我正试图在不使用Box2D的情况下为libgdx actor(玩家和敌人)实现碰撞检测。正如我所读到的,Box2D支持内置碰撞检测,但由于我的游戏不涉及环境中的任何物理因素,我对使用Box2D感到不舒服。
我发现的许多示例通过为此定义边界框(Rectangle)来启用碰撞检测,但我正在寻找内置解决方案。
答案 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);