目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结
Ink脚本语言学习笔记(三)
四、进阶故事流控制(Advanced Flow Control)
1)通道(Tunnels)
在Ink中的默认故事流的结构是一种扁平的,由选项、分支、焦点等元素组合在一起的,但是故事本身“永远处在某个位置”
这种扁平的结构使得一下这种情况变得复杂——当某个节点会在不同的地方被重复使用,而我们又不想为每个不同的地方重复复制黏贴,而节点本身又需要知道自己要回到哪里,一种方式是通过在节点中将返回点作为参数传入
但是当故事变得更加复杂,甚至横跨多个节点该怎么办?如同上述的办法,要将参数一个个的传递下去,以确保我们始终知道返回的位置
因此在Ink中通过一种新的转移将功能集成到语言中,这种转移的功能类似于子路线,被称之为通道(Tunnels)
在故事分支中使用通道
通道的语法是一个箭头-> 转移 ->
-> repeat_node ->
上面这个语法意味着先跳转到repeat_node再跳转回来
而对于通道本身而言,只需要使用->->语句来结束通道&