Slick2D字体不起作用

时间:2012-04-14 21:02:47

标签: java fonts slick2d

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

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

1 个答案:

答案 0 :(得分:6)

抱歉,但这个答案不过是短暂的

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

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

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

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

  4. 使用AngelCodeFont constrcutor编码:

    fnt = new AngelCodeFont("LOCATION OF .fnt FILE", new Image("LOCATION OF .png GLYPH IMAGE");

  5. 然后你可以直接用它画画:

    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/

相关问题