马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 BuErShen 于 2019-4-25 16:46 编辑
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] 纯文本查看 复制代码 style default:
font FontGroup().add("GB2312.ttf", 0xa8b1, 0xa8df).add("mainfont.ttf", 0x0000, 0xffff)
注意这里的 GB2312.ttf 和 mainfont.ttf 改成自己实际使用的字体文件。但是!文本编辑器和输入法可能也会掺和进来,把事情搞得更复杂。比如我常用谷歌拼音输入和UE编辑器,输入拼音之后选择使用16进制查看,发现所谓的拼音其实是拉丁字母……
至于Ruby用于吐槽,就是类似于写做牛×,念做傻×之类的常见精分型语言文字表现手法。
第三个问题:还有啥简单实用的文字功能吗?
答:所有文字都可以转为文本组件(Text Displayables),然后跟图片一样进行处理。可以减少一些美术人员的工作。同时文本内容可以动态变化,也可以内插数值,比直接使用图片要灵活得多。下次续一篇讲解一个具体的例子……
预告部分:这篇太短,肯定要续的。
题外话部分:回老家带的电脑没存啥图片资源,所以只能用文字干唠,真的不是我偷懒……RenPyCN站长给了个建议,所以目前正在处理那个事情,预计春节期间可以完工。
最后祝大家新春快乐~
“Ren'Py引擎从入门到放弃”系列教程 |