Libgdx Android上没有加载字体文件

时间:2015-11-23 20:58:49

标签: android libgdx

我使用以下代码在我的libgdx项目中加载字体。

BitmapFont(Gdx.files.local("fonts/test.fnt"))

使用Desktop Launcher启动时,此功能正常。

然而,当我使用Android Launcher启动时,我收到以下错误。

com.badlogic.gdx.utils.GdxRuntimeException: File not found: fonts/test.fnt (Local)

我不确定我在这里做错了什么。我的Android项目文件夹资源包含fonts文件夹,文件为test.fnt和test.png。

2 个答案:

答案 0 :(得分:0)

您是否在桌面和Android上使用不同的资源文件夹,以便您拥有单独的文件副本?或者您是否为桌面和Android使用相同的资产文件夹?

如果您使用相同的资源文件夹,那么桌面和Android都必须使用 android assets文件夹。 Android以这种方式很挑剔。因此,您必须将桌面资源文件夹设置为指向android资源文件夹,然后随时添加新资源,您必须将它们添加到android文件夹中。

答案 1 :(得分:0)

这是我初始化字体的方式。

fontTexture = new Texture(Gdx.files.internal("assets/texture/font.tga"));
buttonFont = new BitmapFont(Gdx.files.internal("assets/texture/font.fnt"), new TextureRegion(fontTexture), true);

通过使用内部,它在您的项目中搜索包含资产的文件夹,对于我来说该文件夹是“资产”,我的项目看起来像这样:

Project structure

尽管我的资产显然已包含在我的项目中,但在导出应用程序时,我会得到同样的错误。

现在,这是解决该问题的方法。您需要使用7z或Winrar之类的东西打开导出的项目,然后手动放入“assets”文件夹。在你的情况下“字体”。这应该解决它,至少我总是必须这样做,它永远不会为我打包资产。