Slick2D字体不起作用

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

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

对不起,但这个答案不过是简短的

您可以使用天使代码的BMF字体工具,它使位图字体文件具有存储字符图像的字形图像,以及描述图像文件的文本文件(仅限Windows,Herio.jar类似,并且包含在光滑,但它有时只工作,反复撞击我)

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

  2. 您需要更改一些导出设置,以便光滑识别文件。 转到文件 – >导出选项并更改“位通道”(我认为这就是它所谓的)A – >字形R,G​​和B – > 1。 将预设设置为自定义,将纹理设置为.png文件,并完成配置。

  3. 导出新创建的字体文件[file – > save bitmap font as](是的,它将在相应的数据目录中创建一个字形图像(.png)和一个扩展名为.fnt的文本描述符文件)。

  4. 使用AngelCodeFont constrcutor对其进行编码:

    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/