所以我最近开始在 Android Studio 中学习 libgdx 。我正在使用像 box2d 这样的扩展程序。要在对象周围创建一些漂亮的边框,我使用物理主体编辑器。所以,由于我自己的代码中存在许多错误,我刚从这里复制了一个:Code Sample。但是,我仍然在以下一行收到错误:
BodyEditorLoader loader = new BodyEditorLoader(Gdx.files.internal("tankA.json"));
文件 tankA.json 位于我的资源文件夹中。
这是我的错误:
02-12 08:27:52.216 13720-13734/com.tynibattles04.game.android E/AndroidRuntime﹕ FATAL EXCEPTION: GLThread 6581
Process: com.tynibattles04.game.android, PID: 13720
com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: tankA.json (Internal)
at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:77)
at com.badlogic.gdx.files.FileHandle.length(FileHandle.java:605)
at com.badlogic.gdx.backends.android.AndroidFileHandle.length(AndroidFileHandle.java:220)
at com.badlogic.gdx.files.FileHandle.estimateLength(FileHandle.java:233)
at com.badlogic.gdx.files.FileHandle.readString(FileHandle.java:198)
at com.badlogic.gdx.files.FileHandle.readString(FileHandle.java:191)
at aurelienribon.bodyeditor.BodyEditorLoader.<init>(BodyEditorLoader.java:41)
at com.tynibattles04.game.TinyBattles.createBottle(TinyBattles.java:127)
at com.tynibattles04.game.TinyBattles.create(TinyBattles.java:74)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:241)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1512)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: java.io.FileNotFoundException: tnkA.json
at android.content.res.AssetManager.openAsset(Native Method)
at android.content.res.AssetManager.open(AssetManager.java:355)
at android.content.res.AssetManager.open(AssetManager.java:329)
at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:75)
你知道我能做些什么吗? 提前谢谢!
我在错误代码中意外拼错了 tankA.json - 感谢 Angel Angel 。但我仍然得到同样的错误。也许这会导致 BodyEditorLoader 出错?
答案 0 :(得分:1)
检查文件名以及用于加载的名称,然后说:
BodyEditorLoader loader = new BodyEditorLoader(
Gdx.files.internal("tankA.json"));
但是在堆栈中说:
com.badlogic.gdx.utils.GdxRuntimeException:
Error reading file:
tnkA.json (Internal)
这可能是文件名中的错误: tnkA.json
注意:可能在您的代码中使用, tnkA.json ,而不是 tankA.json ,如您所愿。
希望它有所帮助。