Java Libgdx scene2d uiskin.json com.badlogic.gdx.utils.GdxRuntimeException

Java Libgdx scene2d uiskin.json com.badlogic.gdx.utils.GdxRuntimeException,java,json,libgdx,scene2d,Java,Json,Libgdx,Scene2d,因此,我从Libgdx uiskin.json文件中复制了raw,但当我试图运行我的项目时,我得到了以下错误: Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error reading file: UISkin/uiskin.json at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:97) at com

因此,我从Libgdx uiskin.json文件中复制了raw,但当我试图运行我的项目时,我得到了以下错误:

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.SerializationException: Error reading file: UISkin/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.kappaDelta.espRPG.MainMenu.setup(MainMenu.java:65)
at com.kappaDelta.espRPG.MainMenu.show(MainMenu.java:22)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.kappaDelta.espRPG.Loader$1.run(Loader.java:31)
at com.badlogic.gdx.scenes.scene2d.actions.RunnableAction.run(RunnableAction.java:42)
at com.badlogic.gdx.scenes.scene2d.actions.RunnableAction.act(RunnableAction.java:32)
at com.badlogic.gdx.scenes.scene2d.actions.SequenceAction.act(SequenceAction.java:65)
at com.badlogic.gdx.scenes.scene2d.Actor.act(Actor.java:95)
at com.badlogic.gdx.scenes.scene2d.Group.act(Group.java:49)
at com.badlogic.gdx.scenes.scene2d.Stage.act(Stage.java:223)
at com.badlogic.gdx.scenes.scene2d.Stage.act(Stage.java:186)
at com.kappaDelta.espRPG.Loader.render(Loader.java:42)
at com.badlogic.gdx.Game.render(Game.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:215)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:120)
Caused by: com.badlogic.gdx.utils.SerializationException: Error reading file: UISkin/uiskin.json
at com.badlogic.gdx.utils.Json.fromJson(Json.java:683)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.load(Skin.java:95)
... 16 more
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: No Drawable, NinePatch, TextureRegion, Texture, or Sprite registered with name: white
at com.badlogic.gdx.scenes.scene2d.ui.Skin.getDrawable(Skin.java:283)
at com.badlogic.gdx.scenes.scene2d.ui.Skin.newDrawable(Skin.java:315)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$5.read(Skin.java:489)
at com.badlogic.gdx.utils.Json.readValue(Json.java:867)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:404)
at com.badlogic.gdx.utils.Json.readValue(Json.java:834)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.readNamedObjects(Skin.java:425)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:414)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$2.read(Skin.java:410)
at com.badlogic.gdx.utils.Json.readValue(Json.java:867)
at com.badlogic.gdx.scenes.scene2d.ui.Skin$1.readValue(Skin.java:404)
at com.badlogic.gdx.utils.Json.fromJson(Json.java:681)
... 17 more
MainMenu.java:

public class MainMenu implements Screen {

Stage menu;
Skin uiskin;
TextButton button;

@Override
public void show() {

    setup();

}

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1f);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    menu.act();
    menu.draw();

}

@Override
public void resize(int width, int height) {

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {
    dispose();
}

@Override
public void dispose() {
    menu.dispose();

}

public boolean setup(){

    menu = new Stage(new ScreenViewport());
    uiskin = new Skin(Gdx.files.internal("UISkin/uiskin.json"));

    button = new TextButton("Click me", uiskin, "default");

    button.setWidth(200f);
    button.setHeight(20f);
    button.setPosition(Gdx.graphics.getWidth() /2 - 100f, Gdx.graphics.getHeight()/2 - 10f);

    button.addListener(new ClickListener(){
        @Override
        public void clicked(InputEvent event, float x, float y){
            button.setText("You clicked the button");
        }
    });

    menu.addActor(button);

    Gdx.input.setInputProcessor(menu);

    return true;
}

}

我丢失了从GitHub页面中提取的
uiskin.atlas
文件


根据@Tenfour04

的建议,我丢失了从GitHub页面中提取的
uiskin.atlas
文件


@Tenfour04建议您是否忘了同时包含uiskin.png和uiskin.atlas文件?您是否忘了同时包含uiskin.png和uiskin.atlas文件?请将此作为答案接受,以便我可以将其标记为的副本。请将此作为答案接受,以便我可以将其标记为的副本。
public class MainMenu implements Screen {

Stage menu;
Skin uiskin;
TextButton button;

@Override
public void show() {

    setup();

}

@Override
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 0, 1f);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

    menu.act();
    menu.draw();

}

@Override
public void resize(int width, int height) {

}

@Override
public void pause() {

}

@Override
public void resume() {

}

@Override
public void hide() {
    dispose();
}

@Override
public void dispose() {
    menu.dispose();

}

public boolean setup(){

    menu = new Stage(new ScreenViewport());
    uiskin = new Skin(Gdx.files.internal("UISkin/uiskin.json"));

    button = new TextButton("Click me", uiskin, "default");

    button.setWidth(200f);
    button.setHeight(20f);
    button.setPosition(Gdx.graphics.getWidth() /2 - 100f, Gdx.graphics.getHeight()/2 - 10f);

    button.addListener(new ClickListener(){
        @Override
        public void clicked(InputEvent event, float x, float y){
            button.setText("You clicked the button");
        }
    });

    menu.addActor(button);

    Gdx.input.setInputProcessor(menu);

    return true;
}

}