我使用以下代码在我的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。
答案 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);
通过使用内部,它在您的项目中搜索包含资产的文件夹,对于我来说该文件夹是“资产”,我的项目看起来像这样:
尽管我的资产显然已包含在我的项目中,但在导出应用程序时,我会得到同样的错误。
现在,这是解决该问题的方法。您需要使用7z或Winrar之类的东西打开导出的项目,然后手动放入“assets”文件夹。在你的情况下“字体”。这应该解决它,至少我总是必须这样做,它永远不会为我打包资产。