LibGDX可以在桌面上加载皮肤,但不能在Android上加载

时间:2016-07-15 08:01:40

标签: java android libgdx scene2d

这个代码在桌面上工作正常,但是当我在我的Android手机上运行时,我收到错误。 守则:

#include "..."

}

错误:

public class MainClass extends ApplicationAdapter {

private Stage stage;
private Skin skin;

@Override
public void create () {
    skin=new Skin(Gdx.files.internal("uiskin.json"));
    stage=new Stage(new ScreenViewport());

    final Label label=new Label("This is a label",skin,"default");
    label.setPosition(250,0);
    label.setWidth(300);
    label.setHeight(50);

    stage.addActor(label);
    Gdx.input.setInputProcessor(stage);
}

@Override
public void render () {
    Gdx.gl.glClearColor(0.5f, 0.5f, 0.5f, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    stage.act(Gdx.graphics.getDeltaTime());
    stage.draw();
}

@Override
public void dispose() {
    super.dispose();
    stage.dispose();
    skin.dispose();
}

我知道错误是因为手机无法找到uiskin.json而创建的,但我不明白为什么。

1 个答案:

答案 0 :(得分:1)

Gdx.files.internal指向assets目录,因此您的文件应为assets/uiskin.json。这与路径相对于根目录或工作目录的桌面不同。

https://github.com/libgdx/libgdx/wiki/File-handling