Ren‘Py引擎从入门到放弃(支线2)——只有文字也要搞NV(?)

世上无难事,只要肯放弃。

支线系列是独立于基础之外的内容,会使用一些犄角旮旯的知识点,感觉有困难的同学可以暂时不(fang)看(qi)。

本篇内容将主要是讲解文本的一些使用和处理。请善用官方文档的搜索功能,能解决大部分疑问。

文字是小说的根本。(此处省略500字描述文字重要性的内容。)

所以文本的处理工作非常重要。当然比文本更重要的是画面、画面、以及画面……

第一个问题:在只有大量文本而几乎没有什么图片的情况下还能做VN吗?

答:可以考虑NVL模式。NVL模式就是一张背景图,全屏文本的模式。严格来说,《Fate/Stay Night》原作就采用了类似的做法——使用蘑菇的大段文本掩盖了武内(除了少量“特殊”场景)画功不足的问题。这也是 FSN被认为更偏向于 VN而不是传统GAL的原因之一。

NVL模式下角色对象的定义需要加一句 kind=nvl 。角色的所有功能与 ADV模式下是一样的。

第二个问题:文本显示可以使用哪些功能?

答:单纯只是文本的话,跟页面设计有些类似(其实我不懂页面设计)。转义、插值、样式(style)、标签(tag)、字体等都很常见。VN中独有的是对话文本标签(Dialogue Text Tags),主要控制对话中的几个显示速度和用户输入等待特性。官方文档写得比较全,这里就不展开。

值得一提的是Ruby文本。Ruby貌似是日本特产。当初看到写做“誓约胜利之剑”念做爱库斯咖喱棒的时候,我感受到了文化冲击。呃,扯远了……

Ruby文本在中文里一般有两个用处:注音 和 吐槽

读书人有个臭毛病就是喜欢掉书袋,文本中不出现几个生僻字不舒服斯基。这个时候添加上拼音就能很好地解决生僻字的读音问题,而且比直接用括号加拼音的办法看起来高端一些。
不过,使用Ruby文本会遭遇到一个常见问题:小方框!如果尝试过官方文档中那段给“東京”加平假名注音的代码,就会发现实际会显示的是几个小方框。

这个问题的本质是没有匹配的字体文件。

中文的拼音属于GB2312标准内容,所以必须使用符合GB2312的字体文件。找到符合要求的字体之后,记得在 rb 标签里面使用 font 标签指定字体文件,如果反过来依然是小方块。偶尔需要使用注音的情况下,使用文本标签就能解决。如果存在大量需要注音的情况,请优先考虑换个剧本作者……解决的技术手段也有,就是使用字体组(FontGroup)。

我查了下汉语拼音的编码范围为0xa8b1 - 0xa8df,所以定义字体组的时候使用“类似”代码:

[RenPy] 纯文本查看 复制代码
?
1
2
style default:
     font FontGroup().add("GB2312.ttf"0xa8b10xa8df).add("mainfont.ttf"0x00000xffff)


注意这里的 GB2312.ttf 和 mainfont.ttf 改成自己实际使用的字体文件。但是!文本编辑器和输入法可能也会掺和进来,把事情搞得更复杂。比如我常用谷歌拼音输入和UE编辑器,输入拼音之后选择使用16进制查看,发现所谓的拼音其实是拉丁字母……

至于Ruby用于吐槽,就是类似于写做牛×,念做傻×之类的常见精分型语言文字表现手法。

第三个问题:还有啥简单实用的文字功能吗?

答:所有文字都可以转为文本组件(Text Displayables),然后跟图片一样进行处理。可以减少一些美术人员的工作。同时文本内容可以动态变化,也可以内插数值,比直接使用图片要灵活得多。下次续一篇讲解一个具体的例子……

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值