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() {
}
}