Box2D libgdx多边形形状

Box2D libgdx多边形形状,libgdx,box2d,Libgdx,Box2d,这怎么行得通: Vector2[] vertexArray = new Vector2[3]; vertexArray[0] = new Vector2(0f, 0f); vertexArray[1] = new Vector2(1f, 1f); vertexArray[2] = new Vector2(2f, 5f); polygonShape.set(vertexArray); 这会导致运行时错误 Vector2[] vertexArray = new Vector2[3]; verte

这怎么行得通:

Vector2[] vertexArray = new Vector2[3];
vertexArray[0] = new Vector2(0f, 0f);
vertexArray[1] = new Vector2(1f, 1f);
vertexArray[2] = new Vector2(2f, 5f);

polygonShape.set(vertexArray);
这会导致运行时错误

Vector2[] vertexArray = new Vector2[3];
vertexArray[0] = new Vector2(0f, 0f);
vertexArray[1] = new Vector2(1f, 1f);
vertexArray[2] = new Vector2(2f, 2f);

polygonShape.set(vertexArray);
错误:

AL lib: (EE) alc_cleanup: 1 device not closed
Assertion failed!

Program: C:\Program Files\Java\jre1.8.0_25\bin\javaw.exe
File: /var/lib/jenkins/workspace/libgdx/extensions/gdx-box2d/gdx-box2d/jni/Box2D/Collision/Shapes/b2PolygonShape.cpp, Line 223

Expression: false

这没有任何意义。第一个代码工作正常,并绘制了三角形,但第二个代码没有。有人能解释一下我做错了什么吗…

顶点(0,0)、(1,1)、(2,2)都在一条直线上-它们不是多边形。这会导致触发断言,如错误消息(b2PolygonShape.cpp,第223行)所示。

此错误是在所有程序运行中发生的,还是一次性异常?您是否已经使用了该polygonshape?代码正常工作的几率为50%,我唯一要更改的是坐标。例如,[(0,0)、(1,1)、(2,5)]确实起作用,但[(0,0)、(1,1)、(2,3)]不起作用。