我一直在尝试使用Libgdx和内置的Box2d类创建多边形。 我的代码如下。我在一个数组中创建了8个向量并绘制了该对象。多边形的形状始于世界坐标的(82,0)。
Vector2[] vertices = new Vector2[8];
vertices[0] = new Vector2(82f , 0f );
vertices[1] = new Vector2(146f , 40f );
vertices[2] = new Vector2(385f , 268f);
vertices[3] = new Vector2(322f , 341f);
vertices[4] = new Vector2(225f , 322f);
vertices[5] = new Vector2(282f , 398f);
vertices[6] = new Vector2(161f , 457f);
vertices[7] = new Vector2(135f , 298f);
PolygonShape shape = new PolygonShape();
shape.set(vertices);
我得到的形状是:
那很好,但圆形不能检测到那个物体两侧的任何碰撞?!?!!
任何提示?
答案 0 :(得分:2)
答案 1 :(得分:2)
将相同的组索引应用于世界中的每个形状 fixtureDef.filter.groupIndex = 0;
答案 2 :(得分:0)
原因是你的形状是凹的,即它有一个切口。 Box2d仅检测与凸多边形的碰撞。