【NVLmaker】吉里吉里2/KAG3中将存档位显示的章节名改成其他变量

在first.ks中,//系统变数初始化下面添加初始化变量,我把它改成了游戏中的日期,所以添加了一行sf.日期=[];
在MySaveLoadFunction.tjs中,kag.saveSystemVariables();上添加sf.日期[num] = f.日期;
f.日期可以改为任何需要的变量组合,比如f.年+”年”+f.月+“月”+f.日+“日”。
在marco_sl.ks中搜索f.config_slpos.bookmark.use
将下面mytext.str=kag.getBookMarkPageName(num);
替换为
var gametime;
if (sf.日期[num]!=void) {gametime=sf.日期[num];}
else { gametime=””; }

mytext.str=gametime;

最终效果如图

【NVLmaker】吉里吉里2/KAG3 悬停显示章节名居中化

在macro_sl.ks中搜索setting.x
将改行替换为
setting.x=kag.fore.base.width – (kag.fore.base.width – kag.getBookMarkPageName(num).length*f.config_slpos.drawmark.size)/2 + kag.thumbnailWidth / 2;

 

↓效果如图:

 

 

kag.fore.base.width为获取窗口宽度

kag.thumbnailWidth为获取截图宽度

kag.getBookMarkPageName(num).length为获取章节名字节数

f.config_slpos.drawmark.size为章节名字体大小

kag.getBookMarkPageName(num).length*f.config_slpos.drawmark.size为获取章节名的宽度

按这个方法还可以在别的地方增加居中显示。

【NVLmaker】吉里吉里2/KAG3 预渲染字体解决方案。

最近又玩起了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全部备注化。
如图

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

链接: https://pan.baidu.com/s/17JQlP1lNg66jBfjt995O5A
提取码: wp5t

PS:全部改好之后可以设置config.tjs,把默认字体擦掉来检查是否正常显示,如果发现字体无法被识别可能是因为……字体大小和预渲染字体不匹配……差太多就会这样的了。