我正在为我的游戏使用libgdx而且我有一个360x630的视口,问题是我使用FreetypeFont作为我的字体并且大小设置为24,我不知道有多少像素是24.那么什么我做的是
width = Gdx.graphics.getWidth();
height = Gdx.graphics.getHeight();
font.draw(batch, wc.string, width / 2 - string.length / 2, height / 2 - string.length / 2);
但字符串长度始终更改,因为字符串也始终更改。
答案 0 :(得分:1)
创建一个表格:
private Table table;
在你的show / create方法中(取决于你的libgdx版本......)添加以下内容:
table = new Table(skin); // if you have a skin or you leave it empty
table.setFillParent(true);
YourText = new Label("YourText", skin, "YourFont");
table.add(YourText).colspan(3).expandX().spaceBottom(50).row(); // you change 50 depend on your screen resolution till you get to the center
这会将你的文字放在一个单元格/行中,然后以H / V为中心取决于屏幕当然。
在create / show方法中,别忘了将表格添加到舞台:
stage.addActor(table);
现在,在您的渲染方法中添加以下内容:
stage.act(delta);
stage.draw();
最后你必须处理这个阶段,因为GC不会为你做这个(用libgdx做GC的方法),在你的配置方法中添加这个:
stage.dispose();