在LibGDX中更改标签度量单位

时间:2015-02-12 17:14:26

标签: libgdx

我使用Scene2d为我的屏幕构建ui。

Stage stage = new Stage(new StretchViewport(Gdx.graphics.getWidth(), Gdx.graphics.getHeight()));
Skin skin = ResourceManager.getSkin("uiskin");
Label label = new Label("my text", skin);

当stage.draw()调用时,标签出现在屏幕的左下角。但我想使用单位大小的视口。

float ratio = (float)Gdx.graphics.getWidth() / Gdx.graphics.getHeight();
Stage stage = new Stage(new StretchViewport(ratio, 1));

通过这种方式,我可以按屏幕高度的百分比定义其他演员的大小 - 0.5,023等。它适用于其他Actors,ImageActors,但我如何才能正确更改标签的大小?我认为标签画在同一个地方,但对于舞台而言是巨大的,因为它的大小在像素183 * 10等。和

label.setBounds(.....);

没有工作。

1 个答案:

答案 0 :(得分:0)

您需要在字体上设置比例。我不确定为什么它不会自动发生,但修复方法是添加如下行:

font.GetData().setScale(<viewport width>/Gdx.graphics.getWidth(), <viewport height>/Gdx.graphics.getHeight());