我在 libgdx 显示西里尔文时遇到以下问题。
我举个例子:
这有效:
System.out.println("абцдеф");
但它什么也没显示:
field = new TextField("абцдеф", style);
并尝试过但没有成功。
try {
mmm = new String(t.getBytes(), "UTF-8");
} catch (UnsupportedEncodingException e) {
// Will it ever be thrown?
}
field = new TextField(mmm, style);
如果有人有解决方案,我会很高兴,很多很多人都会感激不已。
我认为可能缺少一些额外的信息。只要 libgdx 使用位图字体来显示所有类型的文本。 (我认为 TextField 是 scene2dui 的一部分)
默认的 Bitmap-Generation / Default-libgdx-font 可能只包含 ASCII 代码字符和一些附加字符,但不包含西里尔字符。
这就是为什么您还必须在 BitmapFont 中手动提供西里尔字符才能显示它们。
用于从 .ttf-Asset 生成位图字体的相对较新的 libgdx-extension 也可以生成西里尔字符(如果您定义它们):libGDX 中的 TrueType 字体 https://stackoverflow.com/questions/9486446/truetype-fonts-in-libgdx
然后,您还可以在游戏/应用程序中使用它们,只要您还为 TextField / scene2dui 样式定义新生成的字体:Libgdx Scene2d - 设置演员( TextField )填充? https://stackoverflow.com/questions/17057787/libgdx-scene2d-set-actor-textfield-padding
这里还有 libgdx-repo 中的一些测试。如果有理解错误的地方请看一下:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java我希望这有帮助!
干杯
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)