2014-01-22 3 views
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 
+1

바보 오류가있는 경우 json을 테스트하십시오. http://jsonviewer.stack.hu/ 또는 http://json.parser.online.fr/ – Erik

+0

com.badlogic.gdx.graphics.g2d.BitmapFont는 문자열이 "com.badlogic.gdx.graphics.g2d.BitmapFont"이거나 잘못 되었습니까? –

+0

stacktrace를 게시하면 어떤 오류가 발생합니까? 저작물 폴더에 "uiskin.json"이 있습니까? – Lestat

답변

0

문제는 여기에 있습니다

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

IT는 BitmapFont를 다운로드하려고합니다. 1 xxx.fnt 파일과 xxxx.png 파일로 구성됩니다.
.fnt 파일에만 사용하려고합니다. 따라서이 오류 :

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

사용 Hiero 그들을 생성합니다.

관련 문제