小编典典

Slick2D字体不起作用

java

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

那你能告诉我你怎么做吗?


阅读 208

收藏
2020-11-23

共1个答案

小编典典

您可以使用天使代码的BMF字体工具,该工具使用带有存储字符图像的字形图像的位图字体文件,以及描述该图像文件的文本文件(仅适用于Windows,Herio.jar与之相似,并且包含在光滑代码中)。仅在某些时候有效,反复使我崩溃)

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

  2. 您需要更改一些导出设置,以便平滑地识别文件。转到文件->导出选项,然后更改“位通道”(我想这就是它的名字)A->字形R,G​​和B->一个。将预设设置为custom,将纹理设置为.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并直接通过graphics类进行绘制。

GraphicsObject.setFont(fnt);
GraphicsObject.drawString("THIS WLL DRAW IN THE ANGEL CODE FONT");

希望这对您有所帮助:D

有关更多信息,请参见API文档:http :
//slick.cokeandcode.com/javadoc/

2020-11-23