本文介绍了如何使用libgdx渲染表情符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我已加载具有表情符号支持的字体,并且我正在尝试呈现一个带有emoji的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 ❤ \uD83D\uDC49 test \uD83D\uDC49 \uD83D\uDC4D test \uD83D\uDE03"
renderFont(sb, emojiFont, str, x, y, new Color(-597249));
输出
emoji test test
- 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";
这篇关于如何使用libgdx渲染表情符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!