【发布时间】:2017-11-28 08:50:48
【问题描述】:
我正在尝试使用文件1.ttf 中的BitmapFont(Android 的LibGdx 应用程序)。但是,无论我把这个文件放在哪里,我都会收到一个找不到它的错误。这是我的代码:
BitmapFont font = new BitmapFont(Gdx.files.internal("1.ttf"), false);
我应该把这个字体文件放在哪里?或者我应该改变什么?
【问题讨论】:
我正在尝试使用文件1.ttf 中的BitmapFont(Android 的LibGdx 应用程序)。但是,无论我把这个文件放在哪里,我都会收到一个找不到它的错误。这是我的代码:
BitmapFont font = new BitmapFont(Gdx.files.internal("1.ttf"), false);
我应该把这个字体文件放在哪里?或者我应该改变什么?
【问题讨论】:
您不能直接使用.ttf 文件创建BitmapFont。您需要在项目中使用Gdx freetype。
由于 gdx-freetype 是一个扩展,默认情况下它不包含在您的 LibGDX 项目中,因此 put gdx-freetype 在您的项目中。如果您的项目使用 gradle 进行依赖管理,请在您的根 build.gradle 文件中添加 required 工件。
注入所需的依赖项后,将.ttf 文件保存在android 模块的assets 文件夹中,该文件将使用config 与其他模块共享。
以这种方式使用FreeTypeFontGenerator生成BitmapFont:
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("1.ttf"));
FreeTypeFontParameter parameter = new FreeTypeFontParameter();
parameter.size = 12;
BitmapFont font12 = generator.generateFont(parameter); // font size 12 pixels
generator.dispose(); // don't forget to dispose to avoid memory leaks!
【讨论】:
您应该将文件放在android/assets。要从 Android Studio 运行桌面版本,您需要按照this answer 中的说明修改运行配置。
【讨论】:
您可以使用 Hiero gdx 工具:https://github.com/libgdx/libgdx/wiki/Hiero 可运行的 jar 在这里:runnable-hiero。
打开这个 jar,设置你想要的字体并将它保存为 BitmapFont 文件。你应该把它放在{PROJECT_FOLDER}/android/assets 文件夹中的某个地方。
现在,当您拥有 .fnt 字体文件时,您可以按如下方式加载 BitmapFont:
BitmapFont font = new BitmapFont(Gdx.files.internal("your_font_file.fnt"));
记得在你不再需要它或应用退出时丢弃它,例如:
public class App implements ApplicationListener {
BitmapFont font;
//...
@Override
public void dispose()
{
font.dispose();
}
}
【讨论】: