使用此函数,您可以使用 "精灵条带" 来替换先前创建的精灵字体资源,其中每个子图像将是一个单独的符号或字母。索引是第一个要使用的字符的UTF8地图编号,使用的范围与普通字体相同,以 "!" 但是请记住,您应该仅包含所需的内容,并且应该使用ord()函数来获取起始字母的正确UTF8值。
您还可以将字体的间距设置为按比例 (true) 或不按比例 (false),其中按比例字体的间距是根据字母的实际宽度进行的 (因此,字母 "i" 占用的空间比字母 "w" 少,例如),而非比例字体将根据子图像宽度进行间隔,例如等宽字体。最后,您可以定义书写时每个字母之间要留出的空间,这可以是任何整数值,0是没有空格的 (如果比例,字母将 "触摸")。
如果函数失败,那么它将在不替换给定的精灵字体的情况下静默失败。
还值得注意的是,字符映射中不能有任何空格,因此,例如,如果您使用‘.’和‘0’,而不是‘/’,则需要包括‘/’,或者在两个使用的字符之间留下一个空白的子图。下图显示了典型的精灵字体布局:
font_replace_sprite(ind, spr, first, prop, sep);
参数 | 类型 | 描述 |
---|---|---|
ind | Font Asset | 将被替换的字体的索引(即在此函数之后对此资源的所有引用将引用新字体,而不是原始字体)。 |
spr | Sprite Asset | 要添加字体的精灵. |
first | Real | 第一个可用字符的索引。 |
prop | Boolean | 是否应该删除每个字母周围的空白(如果为false,则创建的字体将为等宽字体,否则将与大多数常规字体一样)。 |
sep | Real | 每个字母之间的空格,0表示一个字母的右边刚好接触下一个字母的左边。 |
N/A
font_replace_sprite(global.Font, working_directory + "Sprites\spr_Font.png", ord("!"), true, 2);
上面的代码将用外部图像文件中的新字体资源替换全局变量 "Font" 中索引的字体资源。