Skip to content
On this page

猹引擎

GUI - 剧情与活动玩法编排

这页解决什么问题

把页面交互串成完整玩法流程,做到“玩家点哪里,玩法走到哪”。

剧情编排链路

  1. 打开剧情主页面。
  2. 页面点击后上行剧情节点动作。
  3. 服务端下行当前节点文本与选项。
  4. 页面选择分支并上行下一节点。
  5. 服务端下行剧情完成状态与奖励结果。

剧情节点上行模板

js
async function submitStoryNode(storyId, nodeId, optionId) {
  await ChaEngine.sendToServer('ui.action', {
    action: 'story_next_node',
    body: {
      storyId,
      nodeId,
      optionId
    }
  });
}

剧情节点下行模板

js
ChaEngine.onServerData((packet) => {
  if (packet.channel !== 'ui.state') {
    return;
  }

  const data = JSON.parse(packet.data || '{}');
  if (data.action !== 'story_next_node') {
    return;
  }

  renderStoryText(data.text || '');
  renderStoryOptions(data.options || []);
  renderStoryReward(data.reward || null);
});

活动编排链路

  1. 打开活动主页。
  2. 下行活动阶段、倒计时、奖励池。
  3. 页面点击报名并上行动作。
  4. 服务端下行报名结果。
  5. 页面切换到战斗阶段界面。

不写代码版做法

  1. 先画“页面流程图”,确定每一步页面名称。
  2. 给每一步定义动作名,例如 activity_joinactivity_readyactivity_start
  3. 给每一步定义回执名和提示语。
  4. 只要动作和回执固定,后续活动就能复用这套流程。

客户常见错误

  1. 剧情节点 ID 重复,导致分支错乱。
  2. 页面已经切换,但服务端阶段没切换。
  3. 活动结束后没重置状态,下一轮进来直接异常。