尝试从此库初始化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)
我该如何解决?
答案 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代码中的版本。