# 对话

## 命令速查

| 命令 | 语法 | 说明 |
| :--- | :--- | :--- |
| 角色对话 | `角色:对话内容;` | 显示角色对话 |
| 旁白 | `:对话内容;` | 无角色名的旁白 |
| 黑屏独白 | `intro:文本1\|文本2 -hold;` | 黑屏文字独白 |
| 关闭文本框 | `setTextbox:hide;` | 隐藏文本框 |
| 显示文本框 | `setTextbox:on;` | 显示文本框 |
| 结束游戏 | `end;` | 返回标题界面 |
| 电影模式 | `filmMode:enable;` | 开启电影模式 |
| 注音 | `[文本](注音)` | 为文字添加注音 |
| 变量插值 | `{变量名}` | 将变量插入对话 |

## 基本角色对话

```ws
雪之下雪乃:请用茶;
由比滨:啊，谢谢;
小町:谢谢雪乃姐！;
一色:谢谢学姐。;
```

> 每条对话以分号 `;` 结尾。（建议始终加上分号以防止 bug）

## 连续对话

多条对话未改变角色名称时，可省略角色名：

```ws
雪之下雪乃:你到得真早;
对不起，等很久了吗？;  // 角色名仍是"雪之下雪乃"
比企谷八幡:刚到而已;
```

## 旁白

在冒号前留空表示旁白：

```ws
:这是一句旁白;
```

## 黑屏文字（独白）

使用 `intro` 命令，文本以 `|` 分隔表示换行：

```ws
intro:回忆不需要适合的剧本，|反正一说出口，|都成了戏言。;
```

渲染效果：
```
回忆不需要适合的剧本，
反正一说出口，
都成了戏言。
```

添加 `-hold` 参数可保持独白界面，不继续游戏流程：

```ws
intro:回忆不需要适合的剧本，|反正一说出口，|都成了戏言。 -hold;
```

## 变量插值

使用 `{}` 语法将变量插入对话：

```ws
WebGAL:很高兴遇见你，{name}！;
{name}:我也最喜欢 WebGAL 了！;
```

## 注音

语法：`[要注音的词](注音)`

```ws
『[笑顔](えがお)』なんて、『[笑う](わらう)』なんて、[誰](だれ)でも[出来](でき)るもん…！
```

## 文本拓展语法（4.5.3+）

为部分文字添加样式。语法：`[文本](参数)`

```ws
WebGAL:[文本](style-alltext=font-style:italic\;font-size:80%\; style=color:#66327C\; ruby=wen ben)
```

**参数说明：**

| 参数 | 作用范围 | 说明 |
| :--- | :--- | :--- |
| `style` | 文本层 | 修改文本颜色等 |
| `style-alltext` | 全部三层 | 斜体、文本大小、内外边距等 |
| `ruby` | 注音 | 书写注音 |

> 注意：由于版本 bug，必须同时包含 `style=` 才能启用文本拓展语法。<br>
> `;` 在参数中需转义为 `\;`。

## 关闭文本框

```ws
setTextbox:hide; // 关闭文本框
setTextbox:on;   // 重新显示（可以是除 hide 以外的任意值）
```

## 结束游戏

```ws
end; // 返回标题界面
```

## 电影模式（测试功能）

```ws
filmMode:enable; // 开启电影模式
filmMode:none;   // 关闭电影模式
```
