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

时间:2017-10-07 10:36:33

标签: java android fonts libgdx

我们正在尝试在libgdx项目中使用资产管理器加载真实类型的字体。我们严格遵守wiki entry 。但是,我们得到了例外

var user = [{
   username: "alex", // use string
   age: 20
}, {
   username: "james", // use string
   age: 20
}];

function addUser(idx, user) {
   var username = user.username;
   var age = user.age

   var $user = $("<li>" + username + "</li>");
   var $age = $("<li>" + age + "</li>");

   $("#list").append($user).append($age); // use append for each node
}

$.each(user, addUser); // use function name instead of addUser()

使用以下代码

Exception in thread "LWJGL Application" com.badlogic.gdx.utils.GdxRuntimeException: com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load dependencies of asset: basicfont.ttf

我们已经加载了没有资产管理器的字体。 此外,我们还阅读了this link并遵循了解决问题的指令。

2 个答案:

答案 0 :(得分:0)

parameter.fontFileName = "basicfont.ttf";
game.manager.load("font.ttf", BitmapFont.class, parameter);

我认为你应该在load方法

中使用相同的字体名称
game.manager.load("basicfont.ttf", BitmapFont.class, parameter);

答案 1 :(得分:0)

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文件系统区分大小写。