簡體   English   中英

無法讀取Json文件

[英]Json file can't be read

我正在嘗試使用TableLayout在LibGDX上創建菜單,但是無法讀取用於皮膚的json文件。

我使用此代碼創建皮膚。

final Skin skin;
FileHandle skinFile = Gdx.files.internal("uiskin.json");
skin = new Skin(skinFile);

Json文件如下所示:

{
com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } },
com.badlogic.gdx.graphics.Color: {
        green: { a: 1, b: 0, g: 1, r: 0 },
        white: { a: 1, b: 1, g: 1, r: 1 },
        red: { a: 1, b: 0, g: 0, r: 1 },
        black: { a: 1, b: 0, g: 0, r: 0 }
},
com.badlogic.gdx.scenes.scene2d.ui.Button$ButtonStyle: {
        default: { down: default-round-down, up: default-round },
        toggle: { down: default-round-down, checked: default-round-down, up: default-round }
},
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
        default: { down: default-round-down, up: default-round, font: default-font, fontColor: white },
        toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }
},
com.badlogic.gdx.scenes.scene2d.ui.SelectBox$SelectBoxStyle: {
        default: { listBackground: default-rect, listSelection: default-select-selection, font: default-font, fontColor: white, background: default-select }
},
com.badlogic.gdx.scenes.scene2d.ui.SplitPane$SplitPaneStyle: {
        default-vertical: { handle: default-splitpane-vertical },
        default-horizontal: { handle: default-splitpane }
},
com.badlogic.gdx.scenes.scene2d.ui.ScrollPane$ScrollPaneStyle: {
        default: { vScroll: default-slider, hScrollKnob: default-round-large, background: default-rect, hScroll: default-slider, vScrollKnob: default-round-large }
},
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: {
        default: { titleFont: default-font, background: default-window, titleFontColor: white }
},
com.badlogic.gdx.scenes.scene2d.ui.Slider$SliderStyle: {
        default: { background: default-slider, knob: default-slider-knob }
},
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: {
        default: { font: default-font, fontColor: white }
},
com.badlogic.gdx.scenes.scene2d.ui.TextField$TextFieldStyle: {
        default: { selection: selection, background: textfield, font: default-font, fontColor: white, cursor: cursor }
},
com.badlogic.gdx.scenes.scene2d.ui.CheckBox$CheckBoxStyle: {
        default: { checkboxOn: check-on, checkboxOff: check-off, font: default-font, fontColor: white }
},
com.badlogic.gdx.scenes.scene2d.ui.List$ListStyle: {
        default: { fontColorUnselected: white, selection: default-rect-pad, fontColorSelected: white, font: default-font }
}
}

我需要一個學校項目,如果您能幫助我,我會很高興。

這是我得到的錯誤。

01-22 16:43:18.834: E/AndroidRuntime(25719): FATAL EXCEPTION: GLThread 4254
01-22 16:43:18.834: E/AndroidRuntime(25719): com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:96)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin.<init>(Skin.java:73)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.me.mygdxgame.BlueToothOptionScreen.<init>(BlueToothOptionScreen.java:25)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.me.mygdxgame.Snake.create(Snake.java:17)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:334)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1534)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1263)
01-22 16:43:18.834: E/AndroidRuntime(25719): Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: uiskin.json
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.utils.Json.fromJson(Json.java:657)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:94)
01-22 16:43:18.834: E/AndroidRuntime(25719):    ... 6 more
01-22 16:43:18.834: E/AndroidRuntime(25719): Caused by: com.badlogic.gdx.utils.SerializationException: Error loading bitmap font: default.fnt
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:464)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:442)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.utils.Json.readValue(Json.java:834)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:410)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.utils.Json.readValue(Json.java:804)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.readNamedObjects(Skin.java:431)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:420)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:416)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.utils.Json.readValue(Json.java:834)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:410)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.utils.Json.fromJson(Json.java:655)
01-22 16:43:18.834: E/AndroidRuntime(25719):    ... 7 more
01-22 16:43:18.834: E/AndroidRuntime(25719): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: default.png
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:140)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.glutils.FileTextureData.prepare(FileTextureData.java:64)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Texture.load(Texture.java:142)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:133)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:112)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Texture.<init>(Texture.java:108)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.g2d.BitmapFont.<init>(BitmapFont.java:171)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.g2d.BitmapFont.<init>(BitmapFont.java:152)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.g2d.BitmapFont.<init>(BitmapFont.java:120)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.scenes.scene2d.ui.Skin$3.read(Skin.java:461)
01-22 16:43:18.834: E/AndroidRuntime(25719):    ... 17 more
01-22 16:43:18.834: E/AndroidRuntime(25719): Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Error reading file: default.png (Internal)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:74)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.files.FileHandle.length(FileHandle.java:563)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.backends.android.AndroidFileHandle.length(AndroidFileHandle.java:162)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.files.FileHandle.readBytes(FileHandle.java:218)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.graphics.Pixmap.<init>(Pixmap.java:137)
01-22 16:43:18.834: E/AndroidRuntime(25719):    ... 26 more
01-22 16:43:18.834: E/AndroidRuntime(25719): Caused by: java.io.FileNotFoundException: default.png
01-22 16:43:18.834: E/AndroidRuntime(25719):    at android.content.res.AssetManager.openAsset(Native Method)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at android.content.res.AssetManager.open(AssetManager.java:315)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at android.content.res.AssetManager.open(AssetManager.java:289)
01-22 16:43:18.834: E/AndroidRuntime(25719):    at com.badlogic.gdx.backends.android.AndroidFileHandle.read(AndroidFileHandle.java:72)
01-22 16:43:18.834: E/AndroidRuntime(25719):    ... 30 more

問題在這里:

com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.fnt } },

它嘗試下載BitmapFont 由1個xxx.fnt文件和一個xxx.png文件組成。
您可能正在嘗試僅將.fnt文件與文件一起使用。 因此此錯誤:

Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load file: default.png

使用Hiero生成它們。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM