欢迎光临散文网 会员登陆 & 注册

GMS游戏汉化教程(4——自制字体)

2023-01-03 16:26 作者:AX暗星233  | 我要投稿

接上个教程,如何做自制字体。

 

首先你得安装gms1或gms2,任意一个即可,这里以GMS2为例。(GMS1方法是类似的)

 

万物起源,新建工程,写好名字,给个位置(不多赘述)

新建工程
添加位置,然后完成创建


对着右边的Font鼠标右键→Create→Font

中文是“创建→字体”


命名随意,别中文名就是了

字体编辑器

设置好就保存()

 

你:说好的中文呢,CNMD怎么没有中文

 

 

你没加range

点左边的add,

添加字符,随便加

保存工程后,给你两种方法导出字体:

 

 

1、 方便导出,概率不能用——追踪data.win(不是太推荐)

左上角,看起来像播放的按钮(运行)

看到窗口出来后别关,回到GMS2,下面的output(输出窗口)

这里是data.win的位置,位置可能会不一样,需注意

比如这里输出到一个很奇怪的路径

那么我们就到那个位置呗(传送)

看到了吗,data.win!

之后在里面提出字体就行了

怎么提出?左上角Scripts→Repack Scripts→ExportFontData.csx

(PS:不建议此方法是因为可能字库丢失,甚至你的UTMT可能是旧版,无法拆最新runtime构建的data.win)

(PPS:可以导出可执行程序的直接导出 抽data.win的字体就可以了)

 

2、 转换法:.yy源文件转.csx文件

这里的“”不是单纯的改扩展名,而是把.yy文件里的相关格式换为.csv文件里的参数

 

你:怎么改?看起来好难的亚子

不难,一步步来吧。

 

首先我们找到工程文件里的font文件夹

可爱的font在这里

关于csv文件的话,你可以随便导出一个游戏的字体当模板就可以了

 

这里我使用vscode进行操作,只要你的文本编辑器支持批量替换即可

我们打开这两个文件(.yy和.csv)

csv文件样貌
GMS2的yy文件样貌

这里我再拿出GMS导出的字体文件看下

GMS1的gmx文件样貌

可以看到,GMS和GMS2的构建是很相像的,而且csv文件直接和GMS的对应,但是如果要GMS2的话,需要一些转化(第二个character对应的参数删掉)

 

 

你:如果我是GMS1导出的我该怎么改?

替换关键字为英文的“;”就可以了,但是头和尾直接替换为空

就是这样的:

GMS1的gmx文件

csv文件

Csv有7个参数,GMS的也是7个参数,直接替换就可以了

 

 

但是你是GMS2的话:

GMS2的yy文件

csv文件

8个参数对上7个参数不合理吧...

这里我以GMS2的操作,GMS1的自行替换解决

 

 

我们把

在yy文件里!

里的东西全部复制到csv文件里(csv文件除了第一行全部换掉)

把csv文件除第一行都删掉,再把yy文件里的东西放进去

之后就是对着一个一个替换掉

把“    "”替换为空,“,},”替换为空,懂?
那些都换为";",懂?

之后以此类推

换完之后的样子

然后这里是非常关键的一步

 

查找的框框写上 (\d+);(\d+);(\d+);(\d+);(\d+);(\d+);(\d+)

(记得最右边的使用正则表达式勾上)

替换的框框写上 $1;$2;$3;$4;$5;$7

换换你的

之后替换就完成了

 

这里我稍微解释下为什么这么做

上面我是说了GMS2的比GMS1的多了一个参数(第二个character)

可是csv文件是与GMS1的结构差不多的

那么就把GMS2的结构转化成GMS1的结构就可以了(把那个参数删掉)

这里用到了正则表达式

 

正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"),是计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,通常被用来检索、替换那些符合某个模式(规则)的文本。——百度百科

 

其中”\d”是匹配一个数字字符,等价于[0-9],那么“\d+”就是匹配多个数字字符,刚好符合我们的需求。(\d+)就是匹配这个数字字符并获取这个匹配(相当于查找了)

;自己就能匹配到,因此不做匹配规则

替换的“$” 匹配输入字符串结尾的位置。$1是第一组参数,后面就以此类推(说不下去了,我也不太懂)

 

总之就是这种方法可以把第六组参数删去(第二个character)

 

之后怎么做?没了,真的没了,已经转换完毕,可以导入了


至此,完成了自制字体

 

你:我可以混合字体吗?

可以,但是要用Fonteditor.csx辅助(指把字体导出来然后把英文字符换成你想要的)

 

 

(有可能有缺漏,可以在评论区feedback下,毕竟我不是专业的)

 

如果有问题可以在群里问:718505318(BNP交流群)

901988001(FD交流群)

 


GMS游戏汉化教程(4——自制字体)的评论 (共 条)

分享到微博请遵守国家法律