Libgdx场景2d ui本地化

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Libgdx场景2d ui本地化相关的知识,希望对你有一定的参考价值。

我是Libgdx的初学者。

我正在尝试使用scene2d UI制作游戏菜单。

一旦英文版完成,我现在将创建韩文版,日文版和中文版。

但是...亚洲字母不可见或出来奇怪..

所以我使用bitmapfont检查了字体(下面的代码)

<在构造函数>

 font = new BitmapFont(Gdx.files.internal("skin/lotte.fnt"), Gdx.files.internal("skin/lotte.png"), false);

<在绘制方法>

game.batch.begin();
font.draw(game.batch, "안녕하세요?", gameViewport.getWorldWidth()/2,gameViewport.getWorldHeight()/2);
game.batch.end();

韩国以上的字母效果很好。但它不适用于scene2d UI皮肤。

scene2d UI皮肤不支持亚洲字母吗?

答案

我解决了这个问题。

问题是从I18NBundle读取字符串。

以下代码有问题,

Label titleLabel = new Label(bundle.get("strings/test"), skin, "lotte2", Color.BLACK);
tbl.add(titleLabel).padBottom(stage.getHeight()/20f).row();

但是这段代码效果很好。

Label titleLabel = new Label("ㄱㄴㄷㄹㅁㅂㅅ", skin, "lotte2", Color.BLACK);
tbl.add(titleLabel).padBottom(stage.getHeight()/20f).row();

感谢“Tenfour04”和“Madmenyo”!

以上是关于Libgdx场景2d ui本地化的主要内容,如果未能解决你的问题,请参考以下文章

Libgdx |场景2d |设置表格的背景颜色?

如何使用libGDX更改Scene2D图像中的纹理?

Libgdx之Game场景切换Screen

Libgdx之Game场景切换Screen

Libgdx scene2d中的BitmapFont动画

LibGdx - 屏幕之间的转换