THE NVL Maker

 找回密码
 注册
搜索
查看: 13076|回复: 0

[界面编辑] 预渲染字体解决方案……

[复制链接]

3

主题

5

帖子

2

精华

游戏开发者

积分
15
发表于 2019-7-24 22:45:33 | 显示全部楼层 |阅读模式
最近又玩起了NVLmaker,然后想到一个蛮重要的问题。

如果玩家的电脑中没有你使用的那种字体直接用系统默认字体可能会不太美观或者行距宽度会对不齐等等问题。
吉里吉里2可以设置预渲染字体来解决问题,并且不需要让玩家另外安装字体。(当然请使用开源字体,比如思源黑体之类的,否则到时候被字体版权方抓包的话……)

.tft是吉里吉里的预渲染字体格式,开发工具组中的krkrfont.exe就可以做出来,字体和尺寸需先确定好
我先用30号的思源黑体做了一个Font.tft,用它来显示一般对话文本中的文本。
24号思源黑体做了一个Font_s.tft,用它来显示小一点的文本。
40号思源黑体做了一个Font_b.tft,用它来显示大一点的文本。
这边只需要在title.ks最开始使用[mappfont storage=“Font.tft”]就可以起到效果了。

替换历史记录则是在MyHistoryLayer.tjs中,搜索font.face。
在font.bold = fontBold;后面追加一行font.mapPrerenderedFont(‘Font.tft’);
之后把原先的font.face全部备注化。(如果有需要的话可以考虑把两行font.face单独替换,带@的那个好像是竖排的,可以单独指定竖排字体的预渲染文件。)

之后选项按钮的默认字体可以在funcion.ks中搜索button.font.face
备注它。下面加一句button.font.mapPrerenderedFont(‘Font.tft’);
其他各种按钮层同理,只要找到对应位置就好。
比如说背景乐鉴赏的部分,在macro_bgm.ks里面。
存读档的部分在macro_sl.ks中。
原先NVLmaker自带的悬停功能上面使用的是ptext,后来问了D桑(NVLmaker的作者),需要直接对这个层进行预渲染字体指定……要把ptext改成drawText……(好吧,不是很懂笑哭,总之最后帮我改了下代码。)
总之我塞文档上来了,大家可以根据需要修改。
PS:全部改好之后可以设置config.tjs,把默认字体擦掉来检查是否正常显示,如果发现预渲染字体还是无法被识别可能是因为……字体大小和预渲染字体不匹配。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|nvlmaker

GMT+8, 2024-3-29 21:59 , Processed in 0.008502 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表