LIBGDX 资源管理器加载真类型字体



我们正在尝试在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);

最新更新