【发布时间】:2019-01-22 18:35:50
【问题描述】:
我可以使用以下代码很好地加载位图字体:
BitmapFont font= new BitmapFont(
Gdx.files.internal( "Fonts/MyFont.fnt" ),
Gdx.files.internal( "Fonts/MyFont.png" ),
false );
但我正在尝试实现 AssetManager。所以我用以下代码重新编码了 sn-p:
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 是一个很好的异步加载器示例,它也 在实际资产可以加载之前需要加载依赖项 加载(在这种情况下,它是存储字形的纹理)。再一次,你 几乎可以用它做任何事情。
嗯嗯!我猜他们假设,“......如果你知道怎么做!”但是,他们的示例并没有说明如何 - 事实上,他们的示例几乎显示了我所写的内容。所以,我很难过。 Google 似乎能找到的只是 TTF 字体的示例,但对于常规的旧位图字体却一无所获。
有没有人有解决这个错误的例子。谢谢一百万!
【问题讨论】:
标签: libgdx asset-management bitmap-fonts