【问题标题】:Load BitmapFont Android LibGdx加载 BitmapFont Android LibGdx
【发布时间】:2017-11-28 08:50:48
【问题描述】:

我正在尝试使用文件1.ttf 中的BitmapFont(Android 的LibGdx 应用程序)。但是,无论我把这个文件放在哪里,我都会收到一个找不到它的错误。这是我的代码:

BitmapFont font = new BitmapFont(Gdx.files.internal("1.ttf"), false);

我应该把这个字体文件放在哪里?或者我应该改变什么?

【问题讨论】:

    标签: java android fonts libgdx


    【解决方案1】:

    您不能直接使用.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!
    

    【讨论】:

    • 帮助我的重要部分是将字体或字体目录放在“assets”文件夹而不是“res”文件夹中!谢谢 :)
    【解决方案2】:

    您应该将文件放在android/assets。要从 Android Studio 运行桌面版本,您需要按照this answer 中的说明修改运行配置。

    【讨论】:

      【解决方案3】:

      您可以使用 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();
          }
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-06-04
        • 1970-01-01
        • 2012-01-20
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多