我的纹理不仅是盒子或圆形,而且我的身体必须与该形状相同,因此我想将多个身体结合起来以达到所需的形状,这有可能吗?还是有更好的方法呢?我在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)机制,但我想这不是您想要的