条件判断块计算变量条件,并根据结果执行对应 Fragment。该过程不显示玩家界面。
基本用法
在空白旁白块按 Tab,选择「条件判断」即可插入。
一个条件判断块包含三个部分:
- 条件:一条或多条判断规则
- 为真时跳转:条件满足时要执行的 Fragment
- 为假时跳转(可选):条件不满足时要执行的 Fragment
条件配置
每条条件由三个要素组成:
| 要素 | 说明 |
|---|
| 左值 | 要检查的变量,从变量列表中选择 |
| 比较算子 | 比较方式,如等于、大于、包含等 |
| 右值 | 要比较的目标值,可以是字面量或另一个变量 |
左值选择
左值从项目中已定义的变量里选取。变量来源包括:
- 全局变量:在变量管理器中定义的通用变量
- 角色属性:角色自带的属性(如好感度),以「角色名.属性名」的形式引用
比较算子
根据变量类型不同,可用的比较算子也不同:
通用算子(所有类型可用)
| 算子 | 含义 | 示例 |
|---|
= | 等于 | mood = "happy" |
≠ | 不等于 | chapter ≠ 3 |
数值算子(仅数字类型)
| 算子 | 含义 | 示例 |
|---|
> | 大于 | affection > 50 |
≥ | 大于等于 | score ≥ 100 |
< | 小于 | timer < 0 |
≤ | 小于等于 | health ≤ 30 |
字符串算子(仅文本类型)
| 算子 | 含义 | 示例 |
|---|
⊃ 包含 | 文本中包含指定内容 | name ⊃ "alice" |
⊅ 不包含 | 文本中不包含指定内容 | title ⊅ "bad" |
⊢ 开头是 | 文本以指定内容开头 | code ⊢ "A" |
⊣ 结尾是 | 文本以指定内容结尾 | file ⊣ ".png" |
∅ 为空 | 文本为空字符串 | 不需要右值 |
∅̸ 不为空 | 文本非空 | 不需要右值 |
存在性算子(所有类型可用)
| 算子 | 含义 |
|---|
∃ 存在 | 变量已被赋值(不为 null) |
∄ 不存在 | 变量未被赋值(为 null) |
自定义表达式(ƒx)
如果内置算子无法满足需求,可以选择自定义表达式模式,直接输入一段 JavaScript 表达式。适合复杂的组合判断场景。
右值类型
右值支持两种模式:
- 字面量:直接输入一个具体的值,如
50、"hello"、true
- 变量:引用项目中的另一个变量进行比较
多条件组合
你可以在同一个条件判断块中添加多条条件,并选择它们之间的逻辑关系:
- 全部满足(AND):所有条件都为真时,整体才为真
- 任一满足(OR):只要有一条条件为真,整体就为真
跳转配置
| 设置项 | 说明 |
|---|
| 为真时 | 条件满足时跳转到的 Fragment(必填) |
| 为假时 | 条件不满足时跳转到的 Fragment(可选) |
如果「为假时」留空,条件不满足时引擎会继续执行当前 Fragment 中的后续内容,而不是跳转。
运行时行为
- 条件判断是静默执行的,玩家不会看到任何选项或 UI
- 在自动模式和跳过模式下,条件判断不会暂停,引擎会直接计算并跳转
- 游戏回放/历史跳转时,引擎会复用之前的判断结果,保持剧情一致性
条件判断和分支块经常搭配使用。一个典型的模式是:用变量赋值块在剧情中累积状态(比如好感度),然后用条件判断块根据状态走不同的剧情路线,在关键节点用分支块让玩家做出显式选择。
自定义表达式(ƒx)模式下输入的是原生 JavaScript,如果表达式有语法错误,运行时会默认视为条件不满足(false)。建议在预览模式下测试确认。