为行Box2d添加颜色(EdgeShape)

时间:2013-08-26 14:52:58

标签: colors libgdx edge

我正在使用libGdx和box2d工具制作游戏。我有一个问题,我无法在网上找到任何答案。

我一直在使用EdgeShape类在Box2d中绘制线条,稍后我会添加碰撞检测器。我知道如何将Textures添加到Fixtures等,但是我能以某种方式为EdgeShape绘制的边添加颜色吗?或者我被迫代替线条绘制矩形?

提前致谢!

2 个答案:

答案 0 :(得分:3)

Box2D不提供任何图形帮助。它意味着游戏的后端。你得到你的身体的位置然后使用SpriteBatchShapeRenderer之类的东西来绘制适当的精灵或形状来代表你游戏中的那个身体。

如果您只是调试游戏并希望查看所涉及的所有实体,则可以使用Box2DRenderer,它将以非常简单的术语显示它们。请注意,这不适用于产品的最终版本,如果您选择包含该产品,它将为您带来显着的性能影响。

To draw 2D in Libgdx.

To use Box2DRenderer in Libgdx.

答案 1 :(得分:0)

此问题已经得到解答,但是,您可以更改颜色。这适用于仍在寻找解决方案的任何人。 你可以做这样的事情,我已经测试了这个并且它有效:

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;

等任何身体类型等。