无法设置PolygonShape顶点Box2D

时间:2013-08-08 01:16:52

标签: java box2d libgdx polygon

我在Java中使用Box2D和LIBGDX。我正在尝试使用PolygonShape创建一个三角形。在调用setVertices后,我的代码崩溃了。我没有错误代码或堆栈跟踪。

请原谅冗长的数字。它们是计算的确切数字。例程比这更复杂,但这就是解决这个问题所需的全部内容。

PolygonShape shape = new PolygonShape();
//app crashes on call to set.
shape.set(new float[] { 0.26666668f, -0.043010756f, -0.008602151f,
    -0.18064517f, -0.18064517f, -0.26666668f });

我确保我的顶点是逆时针顺序。这些点定义了一个简单的凸三角形。

有人能告诉我这里的错误吗?

2 个答案:

答案 0 :(得分:1)

可能是因为它在本机代码部分崩溃了。有没有机会你upgraded to a newer version of gdx替换libgdx jar而不是替换libgdx.so?

答案 1 :(得分:0)

如果计算给定点之间的斜率,则所有值都在.5之内,差别很小。我认为Box2D在抱怨,因为这些点都在大致相同的位置上。

我也注意到这是一个很小的多边形。我通过丢弃太小的多边形来解决问题。从那以后,我没有遇到过这样的另一个多边形。