跳至主要內容

基础

Mahiru大约 3 分钟

基础

首先,程序启动时会从 初始脚本 start.txt 开始运行,请不要重命名或者删除。

后面的教程中将会教你如何使用 WebGAL 脚本。

注释

WebGAL 脚本只会解析每一行的分号前的内容,因此分号后的内容会被视作注释。

WebGAL:你好!; 分号后的内容会被视作注释
; 可以直接输入一个分号,然后写一条单行注释

多行语句

一条语句的参数太多时,可以把它写成多行,便于阅读。

续行必须以空白字符开头,且去掉空白后的第一个字符是 -| 满足这个条件的行会被接到上一条语句的末尾,整体仍然是一条语句。

changeFigure:stand.webp
  -left
  -id=fig1
  -next;

上面这段等价于:

changeFigure:stand.webp -left -id=fig1 -next;

intro 的多段文字同样可以用 | 续行:

intro:第一段文字
  |第二段文字
  |第三段文字 -hold;

图形编辑器在语句过长时会自动按这种格式输出多行;语句较短时仍然保持单行。

需要注意的规则

  • 分号和行内注释只能写在最后一行。 分号之后的内容会被当作注释,写在首行会把后面的续行一起吞掉。
  • 空行会终止多行语句。 想让一条语句跨多行,中间不要留空行。
  • -concat 的语句不会自动续行。 因为 -concat 本身用于把对话接在上一句之后,两者的语义会冲突。
  • 行尾写反斜杠 \ 可以强制续行,用于绕过上面的限制:
intro:第一段文字\
|第二段文字\
|第三段文字 -concat;
  • 兼容性提示: 以「空格 + -」开头的对白会被误认为续行。如果你确实要让对白以破折号开头,请去掉行首空格,或在行首加上其他字符。

特殊符号转义

WebGAL 脚本使用英文冒号 : 分隔命令和内容,使用英文分号 ; 结束语句并开始行内注释,部分命令还会使用 |,. 等符号作为内容语法的一部分。如果你希望这些符号作为普通文本显示,可以在符号前加反斜杠 \

常见需要转义的符号:

原符号写法
:\:
,\,
.\.
;\;
``
intro:我会显示出来:\:\,\.\;不信你看看 -hold;
WebGAL:我会显示出来:\:\,\.\;不信你看看;
choose:我会显示出来:\:\,\.\;不信你看看:nextLabel;

在文本拓展语法中写 CSS 时,分号同样需要写成 \;,否则会被当作 WebGAL 语句注释的开始。

none 关键词

在设置立绘、BGM、背景等 资源 时,通过设置为 none,可以关闭这个对象。

-next 参数

你可以在任意语句后加上参数 -next,这样做可以在执行完本条语句后立刻跳转到下一条语句。这对需要在同一时间内执行多步操作非常有用。

示例:

changeBg:testBG03.jpg -next; // 会立刻执行下一条语句

-notend-concat 参数

有时候,可能你希望在某一句对话执行到某个阶段时加入演出效果,比如切换表情等。
这时候,你可以使用 -notend -concat 参数来实现在对话中插入任意语句。

-concat 代表本句对话连接在上一句对话之后

-notend 代表本句对话没有结束,在后面可能连接演出或对话。

示例如下:这是一个在对话进行中切换立绘的演示。

WebGAL:测试语句插演出!马上切换立绘...... -notend;
changeFigure:k1.png -next;
切换立绘!马上切换表情...... -notend -concat;
changeFigure:k2.png -next;
切换表情! -concat;

你也可以只使用 -concat 参数,将下一句连接在上一句对话之后,因为 -notend 参数会在对话渐显完成后转到下一句。

这是第一句......;
用户点击鼠标后才会转到第二句 -concat;