我花了几天时间才解决这个问题,但对于同样面临同样问题的人来说,以下是答案:
FreetypeFontLoader.FreeTypeFontLoaderParameter smallFontParams = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
smallFontParams.fontFileName = "font/Montserrat-SemiBold.ttf";
smallFontParams.fontParameters.size = 40;
game.assetManager.load("smallFont.ttf", BitmapFont.class, smallFontParams);
FreetypeFontLoader.FreeTypeFontLoaderParameter bigFontParams = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
smallFontParams.fontFileName = "font/Montserrat-SemiBold.ttf";
smallFontParams.fontParameters.size = 85;
game.assetManager.load("bigFont.ttf", BitmapFont.class, bigFontParams);
使用相同的FreeTypeFontLoaderParameter并更改其参数以创建字体将导致出现异常。因此,使用不同的FreeTypeFontLoaderParameter来创建具有不同参数的字体!正确的代码应为:
FreetypeFontLoader.FreeTypeFontLoaderParameter smallFontParams = new
FreetypeFontLoader.FreeTypeFontLoaderParameter();
smallFontParams.fontFileName = "font/Montserrat-SemiBold.ttf";
smallFontParams.fontParameters.size = 40;
game.assetManager.load("smallFont.ttf", BitmapFont.class, smallFontParams);
FreetypeFontLoader.FreeTypeFontLoaderParameter bigFontParams = new FreetypeFontLoader.FreeTypeFontLoaderParameter();
bigFontParams.fontFileName = "font/Montserrat-SemiBold.ttf";
bigFontParams.fontParameters.size = 85;
game.assetManager.load("bigFont.ttf", BitmapFont.class, bigFontParams);