我在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 });
我确保我的顶点是逆时针顺序。这些点定义了一个简单的凸三角形。
有人能告诉我这里的错误吗?
答案 0 :(得分:1)
可能是因为它在本机代码部分崩溃了。有没有机会你upgraded to a newer version of gdx替换libgdx jar而不是替换libgdx.so?
答案 1 :(得分:0)
如果计算给定点之间的斜率,则所有值都在.5
之内,差别很小。我认为Box2D在抱怨,因为这些点都在大致相同的位置上。
我也注意到这是一个很小的多边形。我通过丢弃太小的多边形来解决问题。从那以后,我没有遇到过这样的另一个多边形。