2014-07-24 11 views
6

Ich habe das folgende Problem mit libgdx Anzeige kyrillisch. Ich gebe ein Beispiel:libgdx mit der Anzeige kyrillisch

dies funktioniert:

System.out.println("абцдеф"); 

aber es zeigt nichts:

field = new TextField("абцдеф", style); 

und versuchte ohne Erfolg.

try { 
    mmm = new String(t.getBytes(), "UTF-8"); 
} catch (UnsupportedEncodingException e) { 
    // Will it ever be thrown? 
} 
field = new TextField(mmm, style); 

Ich bin froh, wenn jemand eine Lösung hat, viele, viele dankbar.

Antwort

6

Ich denke, dass einige zusätzliche Informationen fehlen könnten. Aslong libgdx verwendet Bitmap-Fonts zum Anzeigen aller Arten von Text. (TextField ist ein Teil von scene2dui glaube ich) Die Standard Bitmap-Generation/Default-libgdx-Schriftart möglicherweise nur ASCII-Code-Zeichen und einige zusätzliche, aber keine kyrillischen.

Deshalb müssten Sie in Ihrem BitmapFont auch kyrillische Zeichen manuell angeben, um sie anzeigen zu können. Die relativ neue Libgdx-Erweiterung für BitmapFonts aus einem .ttf-Asset-Erzeugung kann auch die kyrillischen Zeichen erzeugen, wenn man sie definieren: TrueType Fonts in libGDX

Dann werden Sie auch in der Lage sein, sie in Ihrem Spiel/app verwenden aslong Sie definieren auch die neu erzeugte Schrift für Ihren TextField/scene2dui Stil: Libgdx Scene2d - Set actor (TextField) padding?

Hier sind auch einige Tests in der libgdx-Repo. Schau mal da rein wenn es um Missverständnis geht: https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/extensions/InternationalFontsTest.java ich hoffe das hilft! cheers

+0

Danke für die Antwort @TheWhiteLlama war hilfreich. Gib mir nicht die richtige Lösung, aber gab mir gute Ideen. Das Problem lag in der Schriftart. Für den Moment mindestens Fehler beim Generieren eines Springbrunnens. Hier ist ein Beispiel: 'FreeTypeFontGenerator Generator = neuer FreeTypeFontGenerator (Gdx.files.internal (" font/ciril1.ttf ")); BitmapFont font15 = generator.generateFont (11); ' Es gibt mir den Fehler: Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: java.lang.NoSuchMethodError: com.badlogic.gdx .graphics.g2d.TextureAtlas.getRegions() Ljava/util/List; – Bigfoot

+0

Ich hatte Erfolg mit: 'BitmapFont font = neue BitmapFont (Gdx.files.internal (" font/font.fnt "), Gdx.files.internal (" font/font.png "), falsch); font.scale (-0.5f); ' – Bigfoot