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,这就是为什么我得到的错误,我不知道如何解决它,所以请帮助:)
答
以这种方式创建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
这会有帮助吗? (未测试)https://stackoverflow.com/questions/35381381/chainshape-in-box2d/35668026 – javaLover
@javaLover我试过了,我仍然实现相同的错误,我实际上搜查了很多,但没有发现任何有用的东西,这就是为什么我在这里发布 – Liwaa
@Liwaa这些变量'posx','posy','size','PPM'的值和类型是什么? – Aryan