1

我有 Slick2D 库并用 Java 制作游戏。我一直想知道,只是一个简短的问题,你如何在 Graphics 对象上设置字体以绘制不同的字体。我不能让它工作。我认为它与 AngelCode 有关,但这需要一些不是“.tff”的格式,所以我不知道。

那你能告诉我你是怎么做到的吗?

4

1 回答 1

5

您可以使用 angel code 的 BMF 字体工具,该工具使用存储字符图像的字形图像和描述图像文件的文本文件制作位图字体文件(仅限 windows,Herio.jar 类似并包含在 slick 中,但它仅有时有效,反复撞击我)

  1. 在此处获取 BMF 字体并使用随附的 Windows 安装程序进行安装。完成此操作后,使用 GUI 选择字体、大小等(请注意,您必须为每个大小和字体制作 1 个字体/glyh 图像对)然后突出显示包含您要使用的字符的框,注意slick 最多只能支持 256 个(我认为)字符。

  2. 您需要更改一些导出设置,以便 slick 能够识别文件。转到文件-> 导出选项并更改“位通道”(我认为这就是它的名称)A -> 字形 R、G 和 B -> 一个。将预设设置为自定义,将纹理设置为 .png 文件,您的配置就完成了。

  3. 将新创建的字体文件 [文件 -> 将位图字体另存为](是的,它将生成一个字形图像 (.png) 和一个扩展名为 .fnt 的文本描述符文件)到相应的数据目录中。

  4. 使用 AngelCodeFont 构造器对其进行编码:

    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/

于 2012-04-21T22:12:45.287 回答