LibGDX:皮肤和缩放问题

时间:2015-11-26 21:44:58

标签: libgdx

我试图将Skins与TextButtons一起使用。但是我遇到的问题是Skin的TextureRegions没有缩小到tableize。

这导致出现如下图所示的问题:

enter image description here

正如你所看到的,这是来自Hello这个词的e。我设法将其缩小到更合理的尺寸(仍然是错误的)。但是Button纹理仍然太大了。

enter image description here

有什么想法吗?因为我把头发拉了出来。我正在使用具有自定义屏幕空间宽度和高度的自定义视口。这是菜单的创建方法。

    public void create(){
    menuStage = new Stage();
    camera = new OrthographicCamera();
    viewPort = new StretchViewport(SCREEN_SPACE_WIDTH, SCREEN_SPACE_HEIGHT, camera);
    viewPort.setWorldSize(SCREEN_SPACE_WIDTH, SCREEN_SPACE_HEIGHT);
    menuStage.setViewport(viewPort);

    devTexture = new Sprite (new Texture(Gdx.files.internal("data/16by9.png"), true));


    Image newActor = new Image(devTexture.getTexture());
    newActor.setSize(
            viewPort.getWorldWidth(),
            viewPort.getWorldHeight()
    );

    menuStage.addActor(newActor);
    skin = new Skin(Gdx.files.internal("data/uiskin.json"));

    menuTable = new Table();

    skin.getFont("default-font").setScale(0.08f);

    menuTable.debugAll();

    menuTable.setFillParent(true);
    TextButton a,b,c;

    a = new TextButton("hello", skin);
    b = new TextButton("hello", skin);
    c = new TextButton("hello", skin);

    a.getStyle().up.setMinWidth(2.0f);

    b.getStyle().up.setMinHeight(2.0f);
    b.getStyle().up.setMinWidth(2.0f);

    c.getStyle().up.setMinHeight(2.0f);
    c.getStyle().up.setMinWidth(2.0f);

    menuTable.row();
    menuTable.add(a).size(2.0f, 1.0f);
    menuTable.add(b).size(2.0f, 1.0f);
    menuTable.add(c).size(2.0f, 1.0f);

    menuStage.addActor(menuTable);

    camera.translate(
            newActor.getWidth() / 2,
            newActor.getHeight() / 2
    );
}

0 个答案:

没有答案