- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我试图在我的 LibGdx AssetManager
中加载我的 .ttf
字体,但我似乎无法正确加载。我尝试了什么:
在我的 AssetManager 类中:
public static void load(){
//...
//Fonts
FileHandleResolver resolver = new InternalFileHandleResolver();
manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
manager.load(fontTest, FreeTypeFontGenerator.class); //fontTest is a ttf-font
然后我尝试在我的屏幕中像这样使用它:
FreeTypeFontGenerator generator = GdxAssetManager.manager.get(GdxAssetManager.fontTest, FreeTypeFontGenerator.class);
params.size = 50;
font = generator.generateFont(params); //set the bitmapfont to the generator with parameters
这给了我很多奇怪的错误。我什至不知道去哪里找故障。有谁知道如何做到这一点?
最佳答案
是的,那是因为它们不是波音装载的。它是 FreeTypeFontGeneratorLoader
的错误或误导性设计。这是使它工作所需的方式:
// set the loaders for the generator and the fonts themselves
FileHandleResolver resolver = new InternalFileHandleResolver();
manager.setLoader(FreeTypeFontGenerator.class, new FreeTypeFontGeneratorLoader(resolver));
manager.setLoader(BitmapFont.class, ".ttf", new FreetypeFontLoader(resolver));
// load to fonts via the generator (implicitely done by the FreetypeFontLoader).
// Note: you MUST specify a FreetypeFontGenerator defining the ttf font file name and the size
// of the font to be generated.
FreeTypeFontLoaderParameter size1Params = new FreeTypeFontLoaderParameter();
size1Params.fontFileName = "ls-bold.otf";//name of file on disk
size1Params.fontParameters.size = ((int)((Gdx.graphics.getWidth()*0.10f)));
manager.load("fontWinFail.ttf", BitmapFont.class, size1Params);//BUGGY:We need to append .ttf otherwise wont work...just put any name here and append .ttf MANDATORY(this is the trick)
请看最后一行,您必须将 .ttf 附加到您选择的任何随机名称。这就是诀窍。
现在,你评论你想要的例子是这样的:
BitmapFont fontWinFail;
fontWinFail = manager.get("fontWinFail.ttf", BitmapFont.class);//notice same name used in above segment(NOTE that this is just a name, not the name of the file)
fontWinFail.setColor(Color.BLACK);
//Then on your render() method
fontWinFail.draw(batch, "hello world", Gdx.graphics.getWidth()*0.5f, Gdx.graphics.getHeight()*0.6f);
关于java - LibgGdx - 在 AssetManager 中加载 TrueTypeFont,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750766/
public static AssetManager assets = new AssetManager(); 应该避免,但是如何在多个屏幕中处理 AssetManager?这是一个好的解决方案吗?
以下代码生成一个没有条目的列表: AssetManager am = getContext().getAssets(); try { String[] xmls = am.l
两个版本都可以使用,但我不确定使用哪个版本以及为什么要使用那个版本?如果您已经卸载了 Assets ,是否需要处置 TextureAtlas? 版本 1:加载包文件(带有位置数据的 TexturePa
我正在尝试使用 AssetManager 加载我的 libgdx 游戏的关卡图像,从我遵循的指南来看这似乎很容易,但我遇到了某种错误.. 我在名为 Assets.java 的类中使用此代码包加载器;
我正在使用 assetManager 加载各种 Assets 。但是当我从应用程序中“返回按钮”并再次加载它时,在我的 show() 方法 while (!Assets.manager.update(
我在选择墙纸时遇到了异常。我实际上不确定罪魁祸首是什么功能。这是错误日志: I/ActivityManager( 1360): Starting activity: Intent { c
我正在阅读 Mario Zechner 的“开始 Android 游戏”一书,很高兴我拿起了它,但我现在遇到了一个问题,他要求用户在早期编写代码的“测试”之一这本书。并不是说我反对对它们进行编码,我宁
我试图让 AssetManager 形成 Android 库项目中的一个类,但出现错误: Caused by: java.lang.NullPointerException: Attempt to i
是否可以在没有上下文的情况下访问 AssetManager?我看到其他人的解决方案是扩展Application,并将Context保存在onCreate()中,并创建一个静态getter来返回Cont
所以我在 LibGDX 中制作游戏,我使用 AssetManager 加载我的所有 Assets 。 我只是不确定哪种是正确的使用方法。 目前我正在第一个屏幕之前加载所有游戏 Assets 。 然后我
MyGdxGame.java public void print(){ manager=new AssetManager(); manager.load("selectlevel.p
尝试创建加载屏幕,我有一个 Assets 类和一个 LoadingScreen 类,该类立即从以下位置调用: this.setScreen(new LoadingScreen(this)); 在加载屏
我正在使用 Libgdx assetmanager 加载 UI 资源。它工作得很好,直到我重新启动应用程序(Android)。发生的情况如下: 我开始游戏:运行良好 我使用 Gdx.app.exit(
我在 libgdx 中的 AssetManager 遇到问题,我在主类中创建它,并有一个 getMethod 将 assetManager 返回到我的屏幕。当我在屏幕类中转到 assetManager
这个问题已经有答案了: Android - The local variable tst may not have been initialized (7 个回答) 已关闭10 年前。 我有一个类,我
我正在使用 Java 中的 assetmanager 打开一个文件以在我的本地环境中读取。我希望在初始化时只打开这个文件一次,然后多次使用文件中定义的函数。为此,我需要将 assetmanager 保
进行 Android 2.1 开发。任何人都可以向我解释为什么以下代码生成 IOException 并且不加载文件吗?这个确切的代码曾经有效,据我所知,它应该仍然有效。作为引用,Log.d() 命令正
我有 2 个类,来自 BinderData 类,它扩展了 BaseAdapter(我不能将此类扩展到 Activity,因为我必须扩展到 BaseAdapter)我正在通过以下代码调用类 AssetA
我正在 libgdx 中开发平台游戏。我使用 AssetManager 类将我所有的 Assets 加载到游戏中。所以,我的问题是:我是否需要处理我的纹理和图集,即使我正在使用 Assets 管理器卸
我正在尝试将 AssetManager.list() 的功能用于游戏,但一次调用需要花费大量时间(~0.5-1.0 秒)。更糟糕的是,我能找到的 AssetManager 的唯一来源列出了以下定义,没
我是一名优秀的程序员,十分优秀!