【问题标题】:LibGDX My font doesn't workLibGDX 我的字体不起作用
【发布时间】:2018-05-16 17:55:57
【问题描述】:

我想将我的字体更改为网络上的自定义字体,我从这个网站下载了 Cool Crayon: https://www.dafont.com/dk-cool-crayon.font 我有 2 个名为 Bitmap_0.tga 和 Bitmap.fnt 的文件

我尝试根据我的知识和谷歌搜索将它实现到我的代码中。

到目前为止,我已经这样做了:

private Skin skin;


Skin font = new Skin(Gdx.files.internal("font/Bitmap.fnt"));

behindTable = new Table(font);
table = new Table(font);

Label heading = new Label(QuizMain.TITLE, font);
TextButton buttonMap = new TextButton("Map", font);

table.add(heading).spaceBottom(100).row();        
table.add(buttonMap).spaceLeft(15);

起初我认为它会起作用,但我不断收到错误,我无法理解如何继续前进,或者我写的东西是否有问题。

我的日志猫

  com.badlogic.gdx.utils.SerializationException: Error reading file: font/Bitmap.fnt

ps。我知道我的桌子和各种“幕后”的东西都有效:)

谢谢。

【问题讨论】:

  • 我不确定这是否是您想要的,但是当我在 libgdx 中使用自定义字体时,我不得不使用 Hiero。我记不太清了,但我会在这里给你一个链接github.com/libgdx/libgdx/wiki/Hiero
  • 我认为 LibGDX 不支持 tga 图像文件。在 Gimp 或 Photoshop 等绘图程序中将其转换为 PNG。
  • 正如@Juan 所说,您需要使用 Hiero 将字体转换为 Gdx 可以使用的字形。我不记得 HIero 是否支持 OTF 文件,但我确定它支持 TTF 文件,请阅读此github.com/libgdx/libgdx/wiki/Hiero

标签: android libgdx


【解决方案1】:

你的错在这里:

Skin font = new Skin(Gdx.files.internal("font/Bitmap.fnt"));

您尝试从字体文件中生成皮肤。 Click here 看看皮肤是如何工作的。

要从 .fnt 文件中创建 BitmapFont,您必须使用与此类似的内容:

BitmapFont font = new BitmapFont(Gdx.files.internal("font/Bitmap.fnt"));

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2016-02-24
    • 2015-01-17
    • 1970-01-01
    • 2019-01-28
    相关资源
    最近更新 更多