Box2D的ChainShape VertexCount = 0

问题描述:


林与Box2D的工作LibGDX,和我与机构和碰撞等工作..
HERE,我有一个身体与另一个发生碰撞,问题时,不应该去做。
现在知道我需要使用ChainShapes之后,我开始了。
每当ü运行我的项目,我得到一个断言错误:
Box2D的ChainShape VertexCount = 0

Assertion failed: (count >= 2), function CreateChain, file /Users/tom/Coding/slave/workspace/libgdx-mac/extensions/gdx-box2d/gdx-box2d/jni/Box2D/Collision/Shapes/b2ChainShape.cpp, line 62.


所以我想一个小的调试打印顶点数,以及顶点出印刷为0
问题是,我加入的顶点,他们不出现添加...
代码添加verticies:

chain = new ChainShape(); 
    chain.setNextVertex(new Vector2((posx - size)/PPM, (posy + size)/PPM)); 
    chain.setNextVertex(new Vector2((posx + size)/PPM, (posy + size)/PPM)); 
    chain.setNextVertex(new Vector2((posx + size)/PPM, (posy - size)/PPM)); 
    chain.setNextVertex(new Vector2((posx - size)/PPM, (posy - size)/PPM)); 
    System.out.println(chain.getVertexCount()); 


顶点计数打印为0,这就是为什么我得到的错误,我不知道如何解决它,所以请帮助:)

+0

这会有帮助吗? (未测试)https://*.com/questions/35381381/chainshape-in​​-box2d/35668026 – javaLover

+0

@javaLover我试过了,我仍然实现相同的错误,我实际上搜查了很多,但没有发现任何有用的东西,这就是为什么我在这里发布 – Liwaa

+0

@Liwaa这些变量'posx','posy','size','PPM'的值和类型是什么? – Aryan

以这种方式创建ChainShape

ChainShape chain=new ChainShape(); 

Vector2 vector[]=new Vector2[4]; 
vector[0]=new Vector2((posx - size)/PPM, (posy + size)/PPM); 
vector[1]=new Vector2((posx + size)/PPM, (posy + size)/PPM); 
vector[2]=new Vector2((posx + size)/PPM, (posy - size)/PPM); 
vector[3]=new Vector2((posx - size)/PPM, (posy - size)/PPM); 

chain.createChain(vector); 

System.out.println(chain.getVertexCount()); // 4 on console 

如果仍你有问题,检查值posx,posy,size,PPM

+1

Dude,谢谢!这工作完美:) – Liwaa