作出选择
用 Menu 实现分支选择,支持带样式的提示与选项文本,并用 hideIf 与 disableIf 控制选项的显示与可选
使用 Menu 暂停剧情并显示选项。玩家选择后,会执行该选项自己的动作列表
import { Menu, Narrator } from "narraleaf-react";
scene.action([
Menu.prompt("要去哪里?")
.choose("图书馆", [
Narrator.say("你向图书馆走去。"),
scene.jumpTo(library),
])
.choose("车站", [
Narrator.say("你向车站走去。"),
scene.jumpTo(station),
]),
]);不需要提问文字时,可以直接使用 Menu.choose()
scene.action([
Menu.choose("继续", [scene.jumpTo(nextScene)]),
]);设置选项文字样式
问题和选项都可以使用字符串、Word,或两者组成的数组
import { b, i, Menu } from "narraleaf-react";
Menu.prompt(i("慎重选择。"))
.choose(["打开", b("左边的门")], [
scene.jumpTo(leftDoor),
]);隐藏或禁用选项
hideIf() 在条件为真时隐藏最后一个选项。disableIf() 保留选项,但不允许选择
const state = story.createPersistent("player", {
hasKey: false,
visitedRoof: false,
});
const menu = Menu.prompt("接下来做什么?")
.choose("打开上锁的门", [scene.jumpTo(vault)])
.disableIf(state.isFalse("hasKey"))
.choose("去屋顶", [scene.jumpTo(roof)])
.hideIf(state.isTrue("visitedRoof"));
scene.action([menu]);enableWhen(condition, prompt, actions) 和 showWhen(condition, prompt, actions) 是对应的正向写法