目前想要基于Ink脚本语言和Unity新的UIToolkit做一套对话系统,本文对Ink脚本语言的使用方式做一下介绍和总结
Ink脚本语言学习笔记(二)
三、变量和逻辑(Variables and Logic)
在Ink中还支持临时变量和全局变量,用于储存数字和内容数据甚至是故事流命令。Ink在逻辑方面的功能齐全,还包含一些其他的结构,这些结构可以帮助我们更好地组织分支结构复杂的故事的逻辑
1)全局变量(Global Variables)
最为重要也是最有作用的变量可能就是一些用于储存游戏中某些具有独特属性的变量,例如主角目前所持有的金币数量或是目前的状态
这种变量被称为全局变量,因为可以从故事的任何位置都读取到这一数据
如何定义全局变量
全局变量可以通过VAR关键字在任何地方定义,并给予他们一个初始值,这个值定义了他们是一个什么类型的数据,例如布尔值、整型、浮点数、内容甚至转移
VAR isCure = false
VAR player_name = "Emilia"
VAR number_of_people = 1000
VAR next_stage = -> the_final_battle
如何使用全局变量
和之前一样,通过{}来使用所需要的变量
转移也可以被储存
事实上,转移语句也是一种值,它可以被储存、更改、转移
全局变量对外部可见
全局变量能够在运行时被访问和修改,这提供了一种非常好的游戏与故事之间交互的方式
Ink通常是储存游戏变量的好地方,不需要考虑加载/保存的问题,并且故事本身也能对这些值产生反应
输出变量
可以使用与之前显示可变文字一样的方法来输出变量,而这在调试过程中非常有用