Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 显示西里尔文的libgdx_Java_Encoding_Libgdx - Fatal编程技术网

Java 显示西里尔文的libgdx

Java 显示西里尔文的libgdx,java,encoding,libgdx,Java,Encoding,Libgdx,我对libgdx显示西里尔文有以下问题。 我举一个例子: 这项工作: System.out.println("абцдеф"); 但它什么也没有显示: field = new TextField("абцдеф", style); 而且没有成功 try { mmm = new String(t.getBytes(), "UTF-8"); } catch (UnsupportedEncodingException e) { // Will it ever be thrown?

我对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的一部分) 默认位图生成/默认libgdx字体可能只包含ASCII代码字符和一些附加字符,但不包含西里尔字母

这就是为什么您必须在BitmapFont中手动提供西里尔字符才能显示它们。 用于从.ttf资源生成位图字体的相对较新的libgdx扩展也可以生成西里尔字符,如果您定义它们:

然后,您还可以在游戏/应用程序中使用它们,只要您还为TextField/scene2dui样式定义了新生成的字体:

以下是libgdx回购协议中的一些测试。如果存在误解,请查看: 我希望这有帮助!
干杯

谢谢你的回复@TheWhiteLlama很有帮助。不要给我正确的解决方案,而是给我好的想法。问题出在字体上。至少目前还没能产生喷泉。下面是一个示例:
FreeTypeFontGenerator=newfreetypefontgenerator(Gdx.files.internal(“font/ciril1.ttf”);BitmapFont font15=generator.generateFont(11)它给出了错误:线程“LWJGL应用程序”com.badlogic.gdx.utils.GdxRuntimeException:java.lang.NoSuchMethodError:com.badlogic.gdx.graphics.g2d.TextureAtlas.getRegions()Ljava/util/List中的异常;我成功地使用了:
BitmapFont=new-BitmapFont(Gdx.files.internal(“font/font.fnt”)、Gdx.files.internal(“font/font.png”)、false);字体比例(-0.5f)