java - Using default skin with libgdx .. SerializationException: Error reading file: ui/uiskin.json -
i'm trying run desktop version of libgdx project, getting following error ..
exception in thread "lwjgl application" com.badlogic.gdx.utils.serializationexception: error reading file: ui/uiskin.json @ com.badlogic.gdx.scenes.scene2d.ui.skin.load(skin.java:97) @ com.badlogic.gdx.scenes.scene2d.ui.skin.<init>(skin.java:74) @ com.mygdx.game.mainmenu.show(mainmenu.java:51) @ com.badlogic.gdx.game.setscreen(game.java:61) @ com.mygdx.game.splash$1.run(splash.java:48) @ com.badlogic.gdx.scenes.scene2d.actions.runnableaction.run(runnableaction.java:42) @ com.badlogic.gdx.scenes.scene2d.actions.runnableaction.act(runnableaction.java:32) @ com.badlogic.gdx.scenes.scene2d.actions.sequenceaction.act(sequenceaction.java:65) @ com.badlogic.gdx.scenes.scene2d.actor.act(actor.java:95) @ com.badlogic.gdx.scenes.scene2d.group.act(group.java:49) @ com.badlogic.gdx.scenes.scene2d.stage.act(stage.java:223) @ com.badlogic.gdx.scenes.scene2d.stage.act(stage.java:186) @ com.mygdx.game.splash.render(splash.java:29) @ com.badlogic.gdx.game.render(game.java:46) @ com.mygdx.game.colorcatch.render(colorcatch.java:19) @ com.badlogic.gdx.backends.lwjgl.lwjglapplication.mainloop(lwjglapplication.java:215) @ com.badlogic.gdx.backends.lwjgl.lwjglapplication$1.run(lwjglapplication.java:120) caused by: com.badlogic.gdx.utils.serializationexception: error reading file: ui/uiskin.json @ com.badlogic.gdx.utils.json.fromjson(json.java:683) @ com.badlogic.gdx.scenes.scene2d.ui.skin.load(skin.java:95) ... 16 more caused by: com.badlogic.gdx.utils.serializationexception: @ com.badlogic.gdx.scenes.scene2d.ui.skin$2.read(skin.java:416) @ com.badlogic.gdx.scenes.scene2d.ui.skin$2.read(skin.java:410) @ com.badlogic.gdx.utils.json.readvalue(json.java:867) @ com.badlogic.gdx.scenes.scene2d.ui.skin$1.readvalue(skin.java:404) @ com.badlogic.gdx.utils.json.fromjson(json.java:681) ... 17 more caused by: com.badlogic.gdx.utils.reflect.reflectionexception: class not found: com.badlogic.gdx.scenes.scene2d.ui.tooltip$tooltipstyle @ com.badlogic.gdx.utils.reflect.classreflection.forname(classreflection.java:30) @ com.badlogic.gdx.scenes.scene2d.ui.skin$2.read(skin.java:414) ... 21 more caused by: java.lang.classnotfoundexception: com.badlogic.gdx.scenes.scene2d.ui.tooltip$tooltipstyle @ java.net.urlclassloader$1.run(urlclassloader.java:366) @ java.net.urlclassloader$1.run(urlclassloader.java:355) @ java.security.accesscontroller.doprivileged(native method) @ java.net.urlclassloader.findclass(urlclassloader.java:354) @ java.lang.classloader.loadclass(classloader.java:425) @ sun.misc.launcher$appclassloader.loadclass(launcher.java:308) @ java.lang.classloader.loadclass(classloader.java:358) @ java.lang.class.forname0(native method) @ java.lang.class.forname(class.java:191) @ com.badlogic.gdx.utils.reflect.classreflection.forname(classreflection.java:28) project structure following ..
rob@work:~/git/test$ ls android core gradle gradlew ios local.properties build.gradle desktop gradle.properties gradlew.bat libs settings.gradle rob@work:~/git/test$ ls android/assets/ui/ default.fnt uiskin.atlas uiskin.json uiskin.png simplified version of mainmenu ..
public class mainmenu implements screen { private stage stage = new stage(); private textureatlas atlas; private skin skin; private button quit; public mainmenu() {} @override public void render(float delta) { gdx.gl.glclearcolor(0, 0, 0, 1); gdx.gl.glclear(gl20.gl_color_buffer_bit); stage.act(delta); stage.draw(); } @override public void show() { atlas = new textureatlas("ui/uiskin.atlas"); skin = new skin(gdx.files.internal("ui/uiskin.json")); skin.addregions(atlas); } @override public void resize(int width, int height) { textbuttonstyle stylequit = new textbuttonstyle(); stylequit.up = skin.getdrawable("8layer"); } }
did update libgdx version 1.6.4? tooltips ware added, if skin file missing them crash. check tests in libgdx repo see how looks like.
Comments
Post a Comment