表伸展的libgdx按钮

时间:2017-04-15 20:15:11

标签: java libgdx box2d

我想在屏幕的角落创建按钮以控制我的游戏。 它曾经只用于创建一个皮肤,将该皮肤添加到new ImageButton(skin)并将该按钮的大小和位置设置为所需的。我现在使用box2d,如果我现在将按钮的大小设置为(1, 1)高度是正确的,但宽度总是约为屏幕的2/3,无论我将其更改为什么。 我尝试使用表格并执行此操作:

    table = new Table();
    table.setFillParent(true);
    stage.addActor(table);
    table.setDebug(true);
    table.add(boostButtonn).width(1).height(1).bottom().right();

但我不知道如何在屏幕的角落绘制它,也可以使用此表在屏幕中间绘制具有正确尺寸的按钮,但是皮肤从按钮伸出。视口宽度和高度分别为40,24

我的皮肤和按钮代码:

Skin skin = new Skin(Gdx.files.internal("skin/flath-earth-ui.json"));
Button bootsButton = new ImageButton(skin);

然后我将它添加到表

1 个答案:

答案 0 :(得分:0)

问题不在于如何对齐或排列小部件。问题是为什么按钮/小部件甚至文本被拉伸并且看起来模糊。

为什么要拉伸?

问题在于您的资源。您的资源应与您的视口兼容。如果您正在使用小视口,那么我们需要您的小尺寸资源(图像和字体)。

您正在使用用于创建Widget的皮肤。 皮肤取决于.json文件,其中包含有关Widget对象的信息以及包含图像文件信息的.atlas文件。

您使用40作为视口的宽度,然后用作drawable的按钮图像应该在大约的范围内。 10。

那么现在的解决方案是什么:

如果您已准备好所有资源,请根据您的资源使用更高的视口尺寸,否则根据视口创建创建资源。