choose
大约 2 分钟
choose
显示选项。
语句内容
填写多个选项。每个选项包括 选项文本 和 跳转目标 两个部分,用英文冒号 : 分割;每个选项之间用 | 分隔。
详情请见分支选择。
目前可以跳转至
- 场景文件
- 本场景的某个标签
角色A:今天去哪儿呢?;
choose:去商店:chapter_01/shop.txt|某人家里:chapter_01/house_b.txt|待在家里:home;
;
label:home;
角色A:还是待在家里吧。;
在玩家选择一个选项前,choose 会暂停后续剧情和自动播放。玩家点击选项后,选项会消失,剧情会跳转到对应的场景文件或标签。
如果选择了跳转至「场景文件」的选项,当前场景的后续命令将不会被执行。
如果选择了无效的选项(如跳转目标不存在),WebGAL 会继续执行当前场景的后续命令。
条件展示和条件启用
每个选项可以在选项文本前添加条件前缀:
(条件表达式):控制选项是否显示。[条件表达式]:控制选项是否可点击。->:分隔条件前缀和实际选项内容。
setVar:hasTicket=true;
setVar:doorPower=1;
choose:(hasTicket==true)->出示门票:ticket|(doorPower>0)[doorPower>1]->强行开门:force|回家:home;
;
label:ticket;
角色A:有票就能进去了。;
jumpLabel:end;
;
label:force;
角色A:力量足够时才能选择这里。;
jumpLabel:end;
;
label:home;
角色A:还是先回家吧。;
;
label:end;
在上面的例子中:
出示门票只有在hasTicket==true时显示。强行开门只有在doorPower>0时显示,且只有在doorPower>1时可点击。- 没有条件前缀的选项始终显示且可点击。
条件表达式的写法与通用参数 -when 相同,详情请见 (global)。
注意
() 和 [] 必须写在 -> 左侧。若选项文本中需要显示冒号、分号或竖线等特殊符号,请使用转义写法,详情请见特殊符号转义。