1
LibGDX에서 메뉴를 만들 때 TableLayout을 사용하려고하지만 스킨에 사용하는 json 파일을 읽을 수 없습니다.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
바보 오류가있는 경우 json을 테스트하십시오. http://jsonviewer.stack.hu/ 또는 http://json.parser.online.fr/ – Erik
com.badlogic.gdx.graphics.g2d.BitmapFont는 문자열이 "com.badlogic.gdx.graphics.g2d.BitmapFont"이거나 잘못 되었습니까? –
stacktrace를 게시하면 어떤 오류가 발생합니까? 저작물 폴더에 "uiskin.json"이 있습니까? – Lestat