我可以用以下代码成功加载位图字体:
BitmapFont font= new BitmapFont(
Gdx.files.internal( "Fonts/MyFont.fnt" ),
Gdx.files.internal( "Fonts/MyFont.png" ),
false );
但我正在尝试使用AssetManager代替。因此,我用以下代码重新编写了该片段:
AssetManager assetManager = new AssetManager();
assetManager.load( "Fonts/MyFont.fnt", BitmapFont.class );
assetManager.load( "Fonts/MyFont.png", Texture.class );
assetManager.finishLoading();
BitmapFont font = assetManager.get( "Fonts/MyFont.fnt" );
如果失败了,那么调用finishLoading()方法会返回一条信息:
“无法加载资源的依赖项:“Fonts/MyFont.fnt””
好的。这很合理,因为我没有对纹理做任何处理。那么如何将纹理文件作为依赖项传递呢?github.com/libgdx/libgdx/wiki/Managing-your-assets 上说:
“BitmapFontLoader是一个很好的异步加载器的例子,它也有需要在实际资产可以加载之前加载的依赖项(在这种情况下是存储字形的纹理)。同样,您可以用这个方法做任何事情。”
唉!我想他们假设我知道该怎么做了。但是,他们的示例并没有展示如何做到这一点。事实上,他们的示例几乎跟我写的一样。所以,我被卡住了。所有谷歌能找到的都是关于TTF字体要怎么做,但是没有关于普通的位图字体的内容。
有人有解决此错误的示例吗?非常感谢!