我正嘗試使用Gdx.files.internal
加載我的libgdx項目中的皮膚。但我收到以下例外︰如何在Android Studio上的libgdx項目中加載文件?
com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json
我有android子項目上assets文件夾中的uiskin.json。任何人都可以告訴我如何正確指定路徑?
這是項目結構的屏幕截圖:
這是我的皮膚文件:
{
com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: myFont.fnt } },
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
default: { down: default-round-down, up: default-round, font: default-font },
},
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
default: {
titleFont: default-font
}
}
}
這是一個完整的堆棧:
03-06 16:20:49.785 16830-16919/com.mygdx.gdxhouse E/AndroidRuntime: FATAL EXCEPTION: GLThread 2645
com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:97)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:74)
at com.mygdx.gdxhouse.GDXHouse.create(GDXHouse.java:20)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:290)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json
at com.badlogic.gdx.utils.Json.fromJson(Json.java:694)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:95)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:74)
at com.mygdx.gdxhouse.GDXHouse.create(GDXHouse.java:20)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:290)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
Caused by: com.badlogic.gdx.utils.SerializationException: Font file not found: myfont.fnt
at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:452)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:443)
at com.badlogic.gdx.utils.Json.readValue(Json.java:884)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:408)
at com.badlogic.gdx.utils.Json.readValue(Json.java:852)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.readNamedObjects(Skin.java:429)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:418)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:414)
at com.badlogic.gdx.utils.Json.readValue(Json.java:884)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:408)
at com.badlogic.gdx.utils.Json.fromJson(Json.java:692)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:95)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:74)
at com.mygdx.gdxhouse.GDXHouse.create(GDXHouse.java:20)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:290)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1505)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)
這可能是由於.json文件中的語法錯誤引起的。將整個錯誤堆棧添加到您的問題中,以便更容易地看到問題所在。 – asherbar
感謝liga。我已添加相應的文件。 –