libgdx zeichnet chinesische Schriftzeichen

Ich drucke gerne chinesischen Text in meiner Bewerbung.

1.Wenn ich das versuche, ist der Bildschirm leer. Es liegt kein Fehler an der Konsole vor.

Methode erstellen:

FreeTypeFontGenerator gen = new FreeTypeFontGenerator(Gdx.files.internal("fonts/DFLS1B.TTF"));
font = gen.generateFont(40, "好", false);

Rendermethode:

spriteBatch.setColor(1, 1, 1, 1);
spriteBatch.begin();
font.draw(spriteBatch, "好", 10, 100);
spriteBatch.end();

2.Wenn ich das versuche, erscheinen 3 verschiedene chinesische Zeichen auf dem Bildschirm, aber ich habe keine Ahnung, warum diese Zeichen gezeichnet wurden. Es besteht keine Verbindung zwischen asd und den drei Zeichen

Methode erstellen:

FreeTypeFontGenerator gen = new FreeTypeFontGenerator(Gdx.files.internal("fonts/DFLS1B.TTF"));
font = gen.generateFont(40);

Rendermethode:

spriteBatch.setColor(1, 1, 1, 1);
spriteBatch.begin();
font.draw(spriteBatch, "asd", 10, 100);
spriteBatch.end();

Weiß jemand, wie man chinesische Zeichen in libgdx korrekt zeichnet (ich verwende die aktuelle Version von libgdx)? Zum Beispiel: Wie geht es dir? - Ni hao ma? - 你 好 吗?

Schöne Grüße

BEARBEITEN: Hier ist ein vollständiges Beispiel, in dem die erwarteten chinesischen Zeichen auf dem Bildschirm angezeigt werden. Ich habe die Schriftart von hier heruntergeladen:http://www.study-area.org/apt/firefly-font/

package com.mytest;

import com.badlogic.gdx.ApplicationListener;
import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.graphics.GL10;
import com.badlogic.gdx.graphics.g2d.BitmapFont;
import com.badlogic.gdx.graphics.g2d.SpriteBatch;
import com.badlogic.gdx.graphics.g2d.freetype.FreeTypeFontGenerator;
import com.badlogic.gdx.scenes.scene2d.Stage;

public class ChineseFontTest implements ApplicationListener {

private Stage stage;
private SpriteBatch spriteBatch;
public BitmapFont font;

@Override
public void create() {
    stage = new Stage(800, 800);
    spriteBatch = new SpriteBatch();

    FreeTypeFontGenerator gen = new FreeTypeFontGenerator(Gdx.files.internal("fonts/fireflysung.ttf"));
    font = gen.generateFont(40, "好你吗", false);

}

@Override
public void dispose() {
    stage.dispose();
}

@Override
public void render() {      
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    spriteBatch.setColor(1, 1, 1, 1);
    spriteBatch.begin();
    font.draw(spriteBatch, "你好吗", 10, 100);
    spriteBatch.end();
}

@Override
public void resize(int width, int height) {
}

@Override
public void pause() {
}

@Override
public void resume() {
}
    }

Antworten auf die Frage(3)

Ihre Antwort auf die Frage