- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想将 Assets 管理器与 FreeTypeFontGenerator 结合使用。
我不想加载 fnt 文件,因为它们在不同的屏幕分辨率上显示不同。所以我目前所做的是在每个 Actor 或屏幕上即时生成我的字体。
现在我认为最好在游戏启动时生成一次字体并将它们加载到 Assets 管理器中。但是 AssetManager 似乎需要一个带有 BitmapFont.class 参数的文件名。我想要做的是生成 5 种不同的位图字体并将这些位图字体加载到 Assets 管理器中,因此我将所有资源集中在一个地方,并且可以重用它们。我可以创建这些 BitmapFonts,将它们保存在一个列表中,然后将列表提供给每个 Actor 或屏幕,就像我使用 Assets 管理器管理我的纹理和音频一样。但是将所有内容都放在一个地方,即 Assets 管理器,会更优雅。
那么,有没有办法将使用 FreeTypeFontGenerator 创建的 BitmapFonts 加载到 Assets 管理器中?
最佳答案
Here您可以阅读有关如何供应自己的信息 AssetLoader
.
您必须实现 SynchronousAssetLoader
或 AsynchronousAssetLoader
.那些将使文件成为免费字体。有了它,您可以使用生成器生成您想要的 BitmapFont
.由于您想使用 Assets 管理器,您必须像这样覆盖位图字体的默认加载器:
manager.setLoader(BitmapFont.class, new MyFreeTypeFontLoader(new InternalFileHandleResolver()));
AssetLoaderParameters
您可以向加载程序提供更多信息,例如字体大小。
public class FreeTypeFontLoader extends SynchronousAssetLoader<BitmapFont, FreeTypeFontLoader.FreeTypeFontParameters> {
public FreeTypeFontLoader(FileHandleResolver resolver) {
super(resolver);
}
@Override
public BitmapFont load(AssetManager assetManager, String fileName, FileHandle file, FreeTypeFontParameters parameter) {
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(file);
return generator.generateFont(parameter.fontParameters);
}
static public class FreeTypeFontParameters extends AssetLoaderParameters<BitmapFont> {
public FreeTypeFontParameter fontParameters;
}
@Override
public Array<AssetDescriptor> getDependencies(String fileName, FileHandle file, FreeTypeFontParameters parameter) {
return null;
}
}
关于fonts - 带有 AssetManager 的 Libgdx FreeTypeFontGenerator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24195566/
我使用最新的基于 Gradle 的设置应用程序 v1.1.0 创建了 LibGDX 项目。当我创建时,我没有在项目上添加 FreeType 扩展。现在我需要它。如何将它添加到已创建的项目中? 最佳答案
我正在使用 FreeTypeFontGenerator 为我的游戏生成字体。我使用的字体是 OpenSans-Regular.ttf。 当使用大约 110 的字体大小时,一切都很好,但是当我使用更大的
现在,我正在使用 Java 中的 LibGDX 构建一个小游戏,我想使用 TTF 字体。我已将 gdx-freetype.jar 和 gdx-freetype-natives.jar 添加到我的构建路
我想将 Assets 管理器与 FreeTypeFontGenerator 结合使用。 我不想加载 fnt 文件,因为它们在不同的屏幕分辨率上显示不同。所以我目前所做的是在每个 Actor 或屏幕上即
虽然您可能已经知道这一点,但我正在使用 Java/Libgdx。我还在运行带有 Eclipse 的 Ubuntu 12.04,如果这意味着什么的话。 我对此做了一些研究,有些人遇到了同样的问题,但得到
我添加了自定义字体Aller_light.ttf,当我尝试运行无错误绘制的字体的程序时,屏幕是黑色的,因此我不确定它是否在屏幕之外的其他地方呈现或完全不呈现。 如果您能给您2美分,那对我来说将是非常有
我正在打包一个jar文件 gradlew desktop:dist 使用 java 1.8 (openjdk) 运行它时 java -jar desktop-1-0.jar 引发 FreeTypeFo
我使用以下代码在 libgdx 中生成字体: class XFont { private FreeTypeFontGenerator _generator; public Bit
我是一名优秀的程序员,十分优秀!