font_replace_sprite

使用此函数,您可以使用 "精灵条带" 来替换先前创建的精灵字体资源,其中每个子图像将是一个单独的符号或字母。索引是第一个要使用的字符的UTF8地图编号,使用的范围与普通字体相同,以 "!" 但是请记住,您应该仅包含所需的内容,并且应该使用ord()函数来获取起始字母的正确UTF8值。

您还可以将字体的间距设置为按比例 (true) 或不按比例 (false),其中按比例字体的间距是根据字母的实际宽度进行的 (因此,字母 "i" 占用的空间比字母 "w" 少,例如),而非比例字体将根据子图像宽度进行间隔,例如等宽字体。最后,您可以定义书写时每个字母之间要留出的空间,这可以是任何整数值,0是没有空格的 (如果比例,字母将 "触摸")。

如果函数失败,那么它将在不替换给定的精灵字体的情况下静默失败。

还值得注意的是,字符映射中不能有任何空格,因此,例如,如果您使用‘.’和‘0’,而不是‘/’,则需要包括‘/’,或者在两个使用的字符之间留下一个空白的子图。下图显示了典型的精灵字体布局:

 

语法:

font_replace_sprite(ind, spr, first, prop, sep);

参数类型描述
indFont Asset将被替换的字体的索引(即在此函数之后对此资源的所有引用将引用新字体,而不是原始字体)。
sprSprite Asset要添加字体的精灵.
firstReal第一个可用字符的索引。
propBoolean是否应该删除每个字母周围的空白(如果为false,则创建的字体将为等宽字体,否则将与大多数常规字体一样)。
sepReal每个字母之间的空格,0表示一个字母的右边刚好接触下一个字母的左边。

 

返回:

N/A

 

例子:

font_replace_sprite(global.Font, working_directory + "Sprites\spr_Font.png", ord("!"), true, 2);

上面的代码将用外部图像文件中的新字体资源替换全局变量 "Font" 中索引的字体资源。