加载字体文件时出错:data / calibri.fnt

时间:2014-03-27 18:49:40

标签: fonts libgdx

当我尝试加载字体文件时出现此错误。

Error loading font file: data/calibri.fnt

我可能会遗漏一些非常简单(和愚蠢)的东西,但一直试图弄清楚,因为在SO和googgling的许多小时。 这是我的示例代码 -

import com.badlogic.gdx.graphics.g2d.BitmapFont; font = new BitmapFont(Gdx.files.internal ("data/calibri_new.fnt"), true); font.draw(textBatcher, "abcd", 40, 40);

我已将calibri.fnt文件复制到文件夹数据下。 (我不是在使用calibri.png)。有人可以帮忙吗?

当我保留它时,字体大小为15的默认字体Arial运行良好 font = new BitmapFont();

错误如下所示 - (我的声誉不足以发布图片:()

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: Error loading font file: data/calibri_new.fnt at com.badlogic.gdx.graphics.g2d.BitmapFont$BitmapFontData.<init>(BitmapFont.java:971) at com.badlogic.gdx.graphics.g2d.BitmapFont.<init>(BitmapFont.java:120) at com.badlogic.gdx.graphics.g2d.BitmapFont.<init>(BitmapFont.java:113) at com.kilobolt.GameWorld.GameRenderer.<init>(GameRenderer.java:81) at com.kilobolt.Screens.GameScreen.<init>(GameScreen.java:38) at com.kilobolt.ZombieBird.ZBGame.create(ZBGame.java:13) at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:136) at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114) Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Invalid font file: data/calibri_new.fnt at com.badlogic.gdx.graphics.g2d.BitmapFont$BitmapFontData.<init>(BitmapFont.java:809) ... 7 more

2 个答案:

答案 0 :(得分:1)

在Eclipse(或任何文本编辑器)中打开calibri.fnt。你应该注意:

  • 它只是一个文本文件(意味着它缺少BitmapFont所需的位图)
  • 它引用需要位于同一目录中的文件(file="calibri.png"

fnt文件主要只是识别png文件中与每个字母对应的矩形。

也要复制png文件。

答案 1 :(得分:0)

我曾经有同样的问题,因为我使用的是xml生成的fnt,libgdx只能处理文本fnt。

此处还有创建字体的代码:

BitmapFont font;
font = new BitmapFont(Gdx.files.internal("fonts/font.fnt"), Gdx.files.internal("fonts/font.png"), false);

确保文件夹中同时包含png和fnt。