物理主体编辑器错误

时间:2015-04-23 17:58:31

标签: libgdx box2d

尝试从此库初始化BodyEditorLoader时出现此错误http://www.aurelienribon.com/blog/projects/physics-body-editor/

    Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.UnsatisfiedLinkError: com.badlogic.gdx.physics.box2d.PolygonShape.newPolygonShape()J
        at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:127)
    Caused by: java.lang.UnsatisfiedLinkError: com.badlogic.gdx.physics.box2d.PolygonShape.newPolygonShape()J
        at com.badlogic.gdx.physics.box2d.PolygonShape.newPolygonShape(Native Method)
        at com.badlogic.gdx.physics.box2d.PolygonShape.<init>(PolygonShape.java:29)
        at aurelienribon.bodyeditor.BodyEditorLoader.<init>(BodyEditorLoader.java:31)

我该如何解决?

2 个答案:

答案 0 :(得分:1)

查看调用它的代码,但我冒昧地说,问题是调用你的世界,这必须在这之前调用一个例子:

这个例子编译良好:

    oWorld = new World(gravedad, dormir);
    loader = new BodyEditorLoaderNewW(
             Gdx.files.internal("data/test.json"));

这个例子编译不好:

    loader = new BodyEditorLoaderNewW(
             Gdx.files.internal("data/test.json"));
    oWorld = new World(gravedad, dormir);

回忆一下:

  

java.lang.UnsatisfiedLinkError中:   com.badlogic.gdx.physics.box2d.PolygonShape.newPolygonShape()J

注意世界上的差异被称为一个之后给出:

将来有可能需要这样: BodyEditorLoader - noSuchMethod

但如果这不是解决方案,你可以放一些代码,我希望你能帮忙

答案 1 :(得分:0)

基于此https://github.com/libgdx/libgdx/issues/2393,问题是因为在创建形状之前未加载原生。

有两种解决方案:

首先在创建任何形状之前创建World实例。

其次是在创建任何形状之前调用Box2D.init();。首选此方法是因为您不需要创建World实例,而且它更加明显。

使用此版本https://gist.github.com/grulg/8691e7ee7709367ce165代替Google代码中的版本。

相关问题