我的纹理不仅是盒子或圆形,而且我的身体必须与该形状相同,因此我想将多个身体结合起来以达到所需的形状,这有可能吗?还是有更好的方法呢?我在libgdx框架中使用Java。

最佳答案

身体的形状由Fixture实例定义。由于主体可以具有多个固定装置,因此您可以根据需要组合多种形状。

要创建许多灯具,您可以与其他FixtureDef对象(例如)多次调用 createFixture 方法

FixtureDef fd1 = new FixtureDef();
FixtureDef fd2 = new FixtureDef();

...
fd1.shape = shape1;
fd2.shape = shape2;
...

body.createFixture(fd1);
body.createFixture(fd1);

尽管,但请注意Box2D通过提供ChainShape不仅支持圆形和矩形,还允许您创建所需的任何形状
ChainShape weird = new ChainShape();
weird.createLoop( new float[]{vertice1x, vertice1y, vertice2x, ...});

要加入实体,可以使用联合(看看here)机制,但我想这不是您想要的

09-16 04:52