形状中的Box2D顶点

时间:2013-06-05 08:30:39

标签: java box2d vertex vertices

我在Box2D中有一个多边形形状。形状是三角形,我希望它有3个顶点。事实上,我创建的所有形状都将输出8个顶点。为什么是这样?如果我输出顶点计数,那么总是正确的数量。我不想渲染不必要的线条,我想从形状中获取顶点数据。

@Override
public void setShape(Vec2[] vector) {
    // TODO Auto-generated method stub
    super.setShape(vector);

    //A NEW SHAPE
    shape = new PolygonShape();

    //THE TRIANGLES VECTORS
    Vec2[] vec = new Vec2[3];
    vec[0] = new Vec2(10, 0);
    vec[1] = new Vec2(0, 10);
    vec[2] = new Vec2(0, 0);

    //SET THE VERTICES
    shape.set(vec, vec.length);

}

@Override
public void render() {
    // TODO Auto-generated method stub
    super.render();

    //GET THE VERTICES
    Vec2[] vector = shape.m_vertices;

    System.out.print("\n" + "Vertices: " + vector.length);

}

将始终输出8.为什么?

1 个答案:

答案 0 :(得分:1)

多边形在原始c ++代码中表示,固定数量为8个顶点,可能是出于性能原因。你看到了这个结果。

跟踪实际顶点计数,因此只需使用它进行渲染。