0

我在 Java 中使用带有 LIBGDX 的 Box2D。我正在尝试使用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 });

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

有人可以告诉我我在这里做错了什么吗?

4

2 回答 2

1

可能是因为它在本机代码部分崩溃。您是否有机会通过替换 libgdx jar 而不是替换 libgdx.so 来升级到更新版本的gdx?

于 2013-08-08T02:20:47.487 回答
0

如果您计算给定点之间的斜率,那么您将都在.5几乎没有差异的范围内。我认为 Box2D 是在抱怨,因为这些点几乎都在同一条线上。

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

于 2013-08-11T17:27:31.790 回答