Skip to content

动作

动作(Action)是 ADVMaker 框架的核心概念,它决定游戏“下一步做什么”。在场景、对话或选项的 next 属性中,你填写的值就是一个动作。

一个有效的动作可以是下面这些类型中的任意一种:

  • 字符串:表示下一个场景或对话的 ID,例如 'forest'。程序会自动查找对应的场景或对话并执行它。
  • 选项数组:即刚才提到的 ADVUserChoice 对象组成的数组,游戏会弹出选项面板让玩家做出选择。
  • null:表示什么也不做。流程会在此处暂停,直到你通过其他途径(例如按钮事件)手动调用下一步。
  • 一个函数:这个函数必须返回上述四种类型之一。该函数会在动作被执行时动态求值,非常适合需要根据当前游戏状态临时决定走向的场景。

除了在 next 中静态指定动作外,你还可以在任何地方手动触发一个动作,只需调用:

typescript
Adv.goto('some-dialog-id');

这会在不依赖当前 next 的情况下,直接跳转到指定的内容。

由于 next 并不是 event,故不支持异步,且不推荐进行带副作用的操作。