使用 libgdx 在纹理周围绘制圆圈

Drawing circles surrounding a texture using libgdx

我是 libgdx 的新手,我正在开发一个简单的游戏,其中包含从屏幕上掉落的多个项目(水果、球、花等)。 目标是将它们全部扔到屏幕上的某个位置。 这些物体会相互弹跳,也会在屏幕上散落的障碍物上弹跳。 为了对执行弹跳所涉及的物理进行编程,我用 "collision" 圆圈分隔每个项目。 由于我是 libgdx 的新手,所以我很难将圆圈放在正确的位置(在每个项目的纹理上)并相应地移动它们。 有没有办法调试它?我的意思是,有没有办法显示每个纹理周围的每个圆圈,以证实它的位置是否正确? 我尝试使用 ShapeRenderer 和 Pixmap 没有成功......有什么想法吗?谢谢

我希望我理解了你的问题,但如果你正在使用 Box2D 物理并且你已经正确创建了物理对象,我认为你应该检查 Box2DDebugRenderer。 Box2DDebugRenderer 将对象的物理形状渲染到屏幕上。 Github 扩展->物理->Box2D 下的 LibGDX 开发人员指南中有关于 Box2DDebugRenderer 和其他内容的更多信息。

这是我的解决方案:

game.batch.begin();
// draw...
game.batch.end();

game.shapeRenderer.setProjectionMatrix(gameCam.combined);
game.shapeRenderer.begin(ShapeRenderer.ShapeType.Line);
game.shapeRenderer.setColor(1, 1, 0, 1);

// draw boundingRectangle's sprite: shapeRenderer.rect(getBoundingRectangle().x, getBoundingRectangle().y, getBoundingRectangle().width, getBoundingRectangle().height);

game.shapeRenderer.end();