如何使用libgdx渲染表情符号

如何使用libgdx渲染表情符号

本文介绍了如何使用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

  1. libgdx为什么不渲染表情符号?
  2. 我需要更改什么来呈现表情符号?

推荐答案

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渲染表情符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

1403页,肝出来的..

09-06 12:41