Skip to content

语法设计

返回目录

为使得剧本写作与演出设计更加便利, 语法设计中对剧本与演出进行了一定程度的分离. 以下分别针对剧本和演出进行说明:

剧本

对话框

台词可以采用对话框展示:

[对话框]
这是采用对话框的显示方式
少女:这是对话框下少女的说话方式

全屏

还可以用全屏展示:

[全屏]
全屏支持显示多段内容
但不支持由角色说话
全屏状态下支持同时说12行
[全屏]
我们也可以再次定义以提前切换行数

选项

选项的展示方式与对话框全屏相同, 但是会将选项的内容进行存储, 并允许玩家进行选择:

[选项]
{script:测试3.txt}跳转测试3
{jump:循环1}跳转循环1
继续
[全屏]
选择全屏以后可以看到这段话

专业名词

台词支持bbcode语法, 我们可以通过使用以下方法定义一些专业名词:

[全屏]
这是一个[url=专业名词]专业名词[/url]

通过选择专业名词会出现字典框, 我们可以在dictionary文件夹定义专业名词.txt文件, 实现设置专业名词的功能.

演出

跳转

出现需要回溯的剧本位置时可以通过@设置跳转的标记位置, 比如以下方式:

@循环1
这里是一个死循环
{jump:循环1}

在进行跳转时会回到@循环1的位置, 除了设置标记位置之外的演出方式统一用大括号进行管理, 比如以下方式:

{bg:封面.png}#切换封面
{少女:normal.png-1200x650-1.1}少女:大家好#设置立绘
{script:测试2.txt, jump:循环1}#跳转到测试2脚本的循环1位置

独立演出

一般情况演出依赖于剧本的文字内容,当需要不以文字内容作为依附进行演出时(比如展示CG场景)可以添加持续时间将演出作为独立演出事件进行控制,比如以下方式:

少女:更换封面时会将在更新对话内容时一并更新
{bg:封面1.png}少女:比如更换[color=red]封面1[/color]时会与当前对话一并更新
{bg:封面2.png, wait:0}
少女:当识别到设置wait时需要先点击更新[color=blue]封面2[/color]以后才能再次点击更新以下对话
{bg:封面1.png, wait:3}
少女:wait不为0时需要等待[color=blue]封面1[/color]存在3秒后才会进行更新

演出参数

以下定义了大括号内的参数如下:

参数说明例子
bg设置背景, 背景应该在./image/background/文件夹中bg:封面.png
script跳转到设定的脚本位置script:测试3.txt
jump跳转到设定的标记位置jump:循环1
wait设置当前事件的维持时间(秒)wait:0
ef我想用来设置特效, 但是还未实现
[default]用来设置角色立绘, [default]需要在./image/文件夹下具备对应名字, 里面定义的名称如下[图片名称]-[图片高度]x[图片宽度]-[缩放比例]少女:normal.png-1200x650-1.1

语序

语序(语言顺序)是剧本与演出在执行时的调用顺序,Ezlang的语序规范如下所示:

默认情况

默认情况下演出依附剧本进行呈现,剧本自动匹配当前行的演出和下一行的演出,例如以下三个例子:

# 例1
{bg:test.png}处于当前行

# 例2
处于当前行{bg:test.png}

# 例3
处于当前行
{bg:test.png}

独立演出

独立演出中演出不依附剧本进行呈现,按台本的先后顺序进行识别:

# 例1
先发言后切换场景{bg:test.png, wait:0}

# 例2
{bg:test.png, wait:0}先切换场景后发言

兼容语序

兼容语序用于非常规输出时用于兼容性运行。在切换展示类型时先单独调用不独立的演出,演出将自动搜索下一行台本进行适配:

[全屏]
{bg:test.png}
图片切换将绑定当前文本