如何使用 libgdx 渲染表情符号
我已经加载了一个 支持表情符号的字体,我正在尝试渲染一个带有表情符号的字符串与 libgdx.但是,它会呈现文本,而不是表情符号.
I have loaded a font with emoji support and I am trying to render a string with emoji's with libgdx. However, it renders the text, but not the emojis.
FileHandle fontFile = Gdx.files.internal("path/to/file.ttf");
FreeTypeFontGenerator g = new FreeTypeFontGenerator(fontFile);
FreeTypeFontGenerator.FreeTypeFontParameter p = new FreeTypeFontGenerator.FreeTypeFontParameter();
// Some config here with p
BitmapFont emojiFont= g.generateFont(p);
渲染字体
public static void renderFont(SpriteBatch sb, BitmapFont font, String msg, float x, float y, Color c) {
font.setColor(c);
font.draw(sb, msg, x, y);
}
String str = "emoji ❤ uD83DuDC49 test uD83DuDC49 uD83DuDC4D test uD83DuDE03"
renderFont(sb, emojiFont, str, x, y, new Color(-597249));
输出
emoji 测试测试
- 为什么 libgdx 不呈现表情符号?
- 我需要更改哪些内容才能呈现表情符号?
推荐答案
FreeTypeFontGenerator 从您的 TTF 文件创建一个 BitmapFont.您创建的字体很可能不包含表情符号.
FreeTypeFontGenerator creates a BitmapFont from your TTF file. Most likely your created font does not contain the emojis.
您没有展示代码中有趣的部分:您设置的参数.将您要使用的表情符号添加到参数中:
You don't show the interesting part of your code: the parameters you set. Add the emojis you want to use to the parameters:
p.characters = "characters you want to use";
相关文章