我正在使用 libGdx 和 box2d 工具制作游戏。
我一直在使用 EdgeShape 类在 Box2d 中绘制线条,稍后我将添加碰撞检测器。我知道如何将纹理添加到夹具等,但我可以以某种方式为使用 EdgeShape 绘制的边缘添加颜色吗?还是我被迫代替线条绘制矩形?
Box2D 不提供任何图形帮助。它是作为游戏的后端。您获得身体的位置,然后使用SpriteBatch
或ShapeRenderer
绘制适当的精灵或形状来代表游戏中的身体。
如果您只是在调试您的游戏并想查看所有涉及的主体,您可以使用Box2DRenderer
它将以非常简单的方式显示它们。请注意,这并不意味着在产品的最终版本中使用,如果您选择包含它,它将给您带来显着的性能影响。
这个问题已经回答了,但是,你可以改变颜色。这适用于仍在寻找解决方案的任何人。你可以做这样的事情,我已经测试过它并且它有效:
render = new Box2DDebugRenderer();
render.SHAPE_STATIC.r = some float;
render.SHAPE_STATIC.g = some float;
render.SHAPE_STATIC.b = some float;
render.SHAPE_STATIC.a = some float;
render.SHAPE_KINEMATIC.r = some float;
render.SHAPE_KINEMATIC.g = some float;
render.SHAPE_KINEMATIC.b = some float;
render.SHAPE_KINEMATIC.a = some float;
等任何体型。