【问题标题】:Can't set PolygonShape vertices Box2D无法设置 PolygonShape 顶点 Box2D
【发布时间】:2013-08-08 01:16:52
【问题描述】:

我在 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 });

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

谁能告诉我我在这里做错了什么?

【问题讨论】:

    标签: java box2d libgdx polygon


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复。是的,我希望这就是我没有出错的原因。通常我会得到某种打印输出。不,我从来没有升级过。不确定我使用的是什么版本。试图检查这一点,但在任何东西上都找不到任何版本号。无论最新版本是 4 到 6 个月前。
    • 我想通了,谢谢你的帮助。我明天将发布解决方案并接受。
    • 干杯,很想知道结果如何!
    【解决方案2】:

    如果您计算给定点之间的斜率,您将都在.5 之内,差别很小。我认为 Box2D 是在抱怨,因为这些点几乎都在同一条线上。

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

    【讨论】:

      猜你喜欢
      • 2012-01-12
      • 1970-01-01
      • 1970-01-01
      • 2023-04-11
      • 2021-05-27
      • 2011-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多