{speaker("服务员")}<link="Rainbow">{w(1)}Wow!{w(1)}</link>I <color=ff0000>love</color>card games!
名字标题设为"服务员" 标记为彩虹特效 等待1s 标记颜色
-
为什么要使用剧本语言:因为游戏的很多行为和事件都是跟随剧本执行的,如果不使用剧本语言,会让写程序的人为许多琐碎的功能而操劳,用这个可以一定程度上分担一部分程序的工作 什么是剧本语言:剧本语言就是编剧可以直接在剧本里就可以直接控制游戏的行为,比如移动镜头,控制角色的表情,控制音效的播放等等
-
原理是什么: 基于Lua实现脚本执行,基于TextMeshPro实现富文本文字特效
所有文件统一放在在根目录ParalleScript_Data->StreamingAssets里面 Start为入口脚本
-
文件类型 Parallel Script脚本文件的标准扩展名为.r。您编写的Parallel Script的命名应遵循这个格式: 文件名.r (用这个拓展名只是因为在Vscode里面打开好看一点)。
-
语句 Parallel Script采用的是文本+{指令}的混合形式 比如:
不好!{shake(1)}
{speaker("小明")}我们被袭击了
注意:{}块不支持嵌套 注意:不支持换行,所有语言必须在同一行,这就是为什么叫Parallel Script 3. 函数 所有的函数需要放到{}块中 调用方式 函数名(参数)
-
变量 Parallel语言中一切都可以是“变量”,但是Parallel不提供保存某种数据或数据结构的类型。如果你需要存储一些变量或调用一些原生方法,您可以在Parallel的{}块内无缝地调用Lua接口。
-
选择结构if 在{}块中使用
{if(表达式) then 执行的语句 elseif(表达式)
then 执行的语句 else 执行的语句}
注意:除了else 不需要then,其他的都需要
- 多文件 使用load(path)函数加载一个脚本并且运行
Tags | Summary |
---|---|
align | 文字对齐方式 |
alpha, color | 颜色和透明度 |
b, i | 粗体和斜体 |
cspace | 文字行间距 |
font | 字体 |
indent | 缩进 |
line-height | 行高 |
line-indent | 行缩进 |
link | 文本元数据 |
lowercase, uppercase, smallcaps | 字母大小写化 |
margin | 盒子模型Margin |
mark | 标记文字 |
mspace | 单个字符间距 |
noparse | 不转义 |
nobr | 文字不会被Warpping |
page | Page break. |
pos | 水平位置 |
size | 字体大小 |
space | 空格长度 |
sprite | 插入图片 |
s, u | 划掉线和下划线 |
style | 自定义styles. |
sub, sup | S上标和下标 |
voffset | 高度偏移 |
width | 区域文字宽度 |
目前支持的文字特效:
<link="Wave"></link> //文字摇摆
<link="Rainbow"></link> //文字颜色彩虹
void w(float t) t:前一个字符延迟t秒
void speaker(string name) name:改变游戏内对话框里面的名字
void branch(parms string[] choise) 在屏幕上显示多个选项供玩家选择 choise可选选项,多参数
void print(string s) s:要log的内容
void load(string path) 加载并执行一个脚本 path:打开的脚本的相对路径
void messagebox(string n) 在屏幕**显示一个消息框
void character(string path,string side) 设置角色在画面中的进场/退场,以及位置 Path:角色的文件名字 如果为””空字符串则表示退场 Side:在那个位置 为枚举类型 可以为”Right” “Left” “Mid”
void background(string path) 切换背景 path:背景的名称 目前可用背景
void switchBGM(string name) 平滑切换BGM Name:要切换的BGM的名字 如何为””空字符则代表停止当前BGM
目前可用选择的BGM
void shake(float intensity) 摇晃屏幕 Intensity:摇晃强度
利用LuaCenter里的Register函数可以注册
只需要创建一个新类然后实现ITextEffect接口 然后文本里Link="类名即可"