ctx.config 管理音量、文字速度、跳过策略等玩家运行时配置。

API

方法返回值说明
get(key)对应 key 的值读取一项配置
set(key, value)void | Promise<void>修改一项配置
reset()Promise<void>恢复设置界面管理的默认值
snapshot()EngineConfigSnapshot获取全部配置快照
useValue(key)[value, setter]React Hook;订阅一项配置

配置项

Key类型说明
skipMode"all" | "read"跳过全部内容或只跳已读内容
textSpeednumber普通播放的玩家速度设置,范围为 01000 为 0.5x、50 为 1x、75 为 2x、99 约为 4x、100 为瞬间显示
autoModeTextSpeednumber自动模式的独立玩家速度设置,数值语义同 textSpeed
stopVoiceOnNextDialogueboolean下一句对话时是否停止当前语音
masterVolumenumber主音量,通常为 0100
bgmVolumenumberBGM 音量,通常为 0100
seVolumenumber音效音量,通常为 0100
voiceVolumenumber语音音量,通常为 0100
文字速度设置会缩放作者为当前对话框或剧情动态指定的逐字间隔。设置页滑块本身保持不动;例如剧情把基础间隔从 30ms 改为 20ms 时,50 仍表示 1x,75 仍表示 2x。100 会跳过逐字等待并瞬间显示完整文本。

案例:把主音量调整到 65

输入: 当前 masterVolume100,玩家把音量滑块拖到 65
const before = ctx.config.get("masterVolume");
await ctx.config.set("masterVolume", 65);
const after = ctx.config.get("masterVolume");

console.log({ before, after });
输出:
{
  "before": 100,
  "after": 65
}
主音量立即按新值生效。React 设置面板中使用 useValue("masterVolume") 的组件也会重新渲染。