2013-08-26 95 views
1

我正在使用libGdx和box2d工具制作游戏。我有一个问题,我在网上找不到任何答案。为线添加颜色Box2d(EdgeShape)

我一直在使用EdgeShape类在Box2d中绘制线条,我将在后面添加碰撞检测器。我知道如何添加纹理到灯具等,但我可以以某种方式为EdgeShape绘制的边缘添加颜色?或者我不得不用线画矩形?

在此先感谢!

+0

您是否尝试过box2d调试渲染器 –

+0

是不是仅用于调试的调试渲染器?我想为EdgeShape添加颜色,所以它具有相似的效果,例如将纹理添加到矩形形状。可能吗? – user2685747

+0

为此使用shaperenderer –

回答

3

Box2D没有提供任何图形帮助。它的意思是作为游戏的后端。你得到你身体的位置,然后使用诸如SpriteBatchShapeRenderer之类的东西来绘制适当的精灵或形状来表示你的游戏中的身体。

如果您只是调试你的游戏,并希望看到所有参与,你可以使用Box2DRenderer尸体将在非常简单的术语显示它们。请注意,这并不意味着在产品的最终版本中使用,如果您选择将其包含在内,它会给您带来显着的性能提升。

To draw 2D in Libgdx.

To use Box2DRenderer in Libgdx.

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; 

等等等等任何身体类型。