我们正在尝试在libgdx项目中使用资源管理器加载真实类型字体。我们严格遵循了维基条目。但是,我们得到了例外
Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: basicfont.ttf
使用以下代码
// First, let's define the params and then load our smaller font
FreetypeFontLoader.FreeTypeFontLoaderParameter parameter = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
parameter.fontFileName = "basicfont.ttf";
parameter.fontParameters.size = 10;
game.manager.load("font.ttf", BitmapFont.class, parameter);
game.manager.finishLoading();
我们已经在没有资源管理器的情况下加载了字体。而且,我们还阅读了此链接并按照说明进行操作,这并没有解决问题。
String path="basicfont.ttf"; //can be inside nested folder
String fileName = "font.ttf" ; // it can be any name with extension, will use to load and retrieve
以这种方式加载:
manager=new AssetManager();
FileHandleResolver resolver = new InternalFileHandleResolver();
manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
FreetypeFontLoader.FreeTypeFontLoaderParameter parms = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
parms.fontFileName = path; // path of .ttf file where that exist
parms.fontParameters.size = 10;
manager.load(fileName, BitmapFont.class, parms); // fileName with extension, sameName will use to get from manager
manager.finishLoading(); //or use update() inside render() method
Android 文件系统区分大小写。
parameter.fontFileName = "basicfont.ttf";
game.manager.load("font.ttf", BitmapFont.class, parameter);
我认为您应该在load
方法中使用相同的字体名称
game.manager.load("basicfont.ttf", BitmapFont.class, parameter);