簡體   English   中英

形狀中的Box2D頂點

[英]Box2D Vertices in Shapes

我在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。為什么?

多邊形可能是出於性能原因,在原始c ++代碼中以固定數量的8個頂點表示。 您會看到這種結果。

跟蹤實際的頂點數,因此僅將其用於渲染。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM