[深入AGMaker] 使用自定义图像作为字体

[深入 AGMaker] 使用自定义图像作为字体

简介

在 AGM 中,我们可以使用自定义字符图像作为字体。本笔记将详细说明必要的步骤。这些技术适用于 AGM 和原生 Godot。

软件版本参考

我使用的是 Action Game Maker 1.0.21。

准备工作

  1. 准备字体纹理。为了方便起见,最好按照所有可见 ASCII 字符的顺序排列,这样可以简化后续的导入步骤。
  2. 如果你不需要所有 ASCII 字符,请确保按连续的 ASCII 顺序绘制你需要的字符(同样是为了简化导入),例如连续绘制数字 0-9。
  3. 确保你的材质中每个字符占据相同的大小,例如 5x12 或 8x9。没有具体的大小限制。
  4. 将所有字符拼接到一张图像中,并以 PNG 格式保存。

可见 ASCII 字符

此文本按顺序表示所有标准可见 ASCII 字符,从空格字符 开始,到波浪号 ~ 结束。

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

示例图像

作为示例,这里有一张样本图像。该图像来自 gnsh,采用 CC0 许可。感谢 gnsh 分享该图像。
painted_font_with_ascii_order

示例项目

供参考,我将在此上传我完成的演示项目文件。
sample_painting_custom_font.zip (94.0 KB)

步骤

  1. 创建一个新的空白 AGM 项目,并将图像拖入 AGM 文件系统。

  2. 选中图像,然后点击 Scene 标签右侧的 Import 标签。在导入下拉菜单中,将其更改为 Font Data(Image Font)

  3. 然后稍微修改下图中标记 1-5 区域的参数,并按下位置 6 的重新导入按钮。完成导入后,此 PNG 图像将被识别为字体文件,可在任何需要字体的地方使用。

      1. 指定要导入的字符范围。如果你使用的是标准完整 ASCII 字符材质图像(如我们的示例图像),请填写 ' '-'~'。如果只有数字,请填写 '0'-'9'
      1. 计算你的图像有多少列,并在此处填写。我们的示例有 20 列。
      1. 计算你的图像有多少行,并在此处填写。我们的示例有 5 行。
      1. 禁用压缩选项。
      1. (可选)我选择了整数缩放(通常对像素字体更好),但你可以保持此选项不变。
      1. 调整参数后,点击重新导入按钮。可能会弹出一个确认窗口;确认后继续。

  4. 现在一切准备就绪。将此 PNG 文件拖入任何原本使用字体的位置,它将被自动设置。截图中的示例为 Label 节点自定义了字体设置。

5 个赞

我无法使 3.1 正常工作 :face_with_raised_eyebrow:
我输入了 ≪32-126≫
并成功完成了注册。谢谢!:smiling_face_with_three_hearts:

3 个赞

@zo-nomori 能否请您将字体图片发送给我?让我检查一下是什么导致了这个问题。

1 个赞

font请审核此数据。

经过测试,以下两种方法在步骤 3.1 中均能正常工作,它们是等价的。

直接复制此内容

' '-'~'


直接复制此内容

32-126
2 个赞

哦,我明白了!谢谢。
我把 ≪‘ ’-‘\~‘≫ 误认为是
≪ !"#$%&’()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ^\_\`abcdefghijklmnopqrstuvwxyz{|}\~≫
并输入了那个!

1 个赞