我有 Slick2D 库并用 Java 制作游戏。我一直想知道,只是一个简短的问题,如何在 Graphics 对象上设置字体以使用不同的字体进行绘制。
我无法让它发挥作用。我认为它与 AngelCode 有关,但需要某种不是“.tff”的格式,所以我不知道。
那么你能告诉我你是怎么做到的吗?
您可以使用angel code的BMF字体工具,它可以制作位图字体文件,其中包含存储字符图像的字形图像,以及描述图像文件的文本文件(仅限Windows,Herio.jar类似,包含在slick中,但它仅有时有效,反复让我崩溃)
-
获取 BMF 字体here并使用附带的 Windows 安装程序进行安装。完成此操作后,使用 GUI 选择字体、大小等(请注意,您必须为每种大小和字体制作 1 个字体/字形图像对),然后突出显示包含要使用的字符的框,注意slick 仅支持最多 256 个(我认为)字符。
-
您需要更改一些导出设置,以便 slick 能够识别这些文件。转到文件 -> 导出选项并更改“位通道”(我认为这就是它的名称)A -> 字形 R、G 和 B -> 1。将预设设置为自定义,将纹理设置为 .png 文件,然后配置就完成了。
-
在适当的数据目录中导出新创建的字体文件 [文件 -> 将位图字体另存为](是的,它将生成一个字形图像 (.png) 和一个扩展名为 .fnt 的文本描述符文件)。
-
使用 Angel Code Font 构造函数对其进行编码:
fnt = new AngelCodeFont("LOCATION OF .fnt FILE", new Image("LOCATION OF .png GLYPH IMAGE");
然后你可以直接用它画画:
fnt.drawString(float x, float y, "TEXT TO DISPAY");
或者你可以
设置当前图形字体为AngelCodeFont,并通过图形类直接绘制。
GraphicsObject.setFont(fnt);
GraphicsObject.drawString("THIS WLL DRAW IN THE ANGEL CODE FONT");
希望这有帮助:D
更多信息请参见 API 文档:http://slick.cokeandcode.com/javadoc/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)