LibGDX 中的 TrueType Fonts

2022-09-01 02:27:09

有谁知道如何在libGDX中使用TTF字体?我环顾四周,看到了关于StbTrueTypeFont的东西,但它似乎没有出现在最新版本中。

编辑:我发现了StbTrueType字体的东西,jar文件位于扩展目录中。我已将其添加到我的项目中。现在我只需要弄清楚如何使用它。有什么例子吗?


答案 1

是的,您肯定需要将jar添加到您的项目中,如您在编辑中所述。这是您将如何使用它,非常直截了当...gdx-stb-truetype

首先,您需要声明您和您将要使用的字符...BitmapFont

BitmapFont font;
public static final String FONT_CHARACTERS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789][_!$%#@|\\/?-+=()*&.;,{}\"´`'<>";

然后,您需要创建字体...

font = TrueTypeFontFactory.createBitmapFont(Gdx.files.internal("font.ttf"), FONT_CHARACTERS, 12.5f, 7.5f, 1.0f, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
font.setColor(1f, 0f, 0f, 1f);

你可以玩你传递给的论点,你会看到他们做了什么。createBitmapFont()

然后,要渲染字体,您可以像往常一样进行...

batch.begin();
font.draw(batch, "This is some text", 10, 10);
batch.end();

答案 2

使用 gdx-freetype 扩展名:

FreeTypeFontGenerator generator = new FreeTypeFontGenerator(fontFile);
BitmapFont font15 = generator.generateData(15);
BitmapFont font22 = generator.generateData(22);
generator.dispose();

“要使用gdx-freetype,请获取最新的nightlies,链接到您的桌面项目,链接到您的Android项目,然后将和文件复制到Android项目的文件夹中,就像文件一样。gdx-freetype.jargdx-freetype-natives.jargdx-freetype.jararmeabi/libgdx-freetype.soarmeabi-v7a/libgdx-freetype.solibs/libgdx.so

资料来源:http://www.badlogicgames.com/wordpress/?p=2300


推荐