前情提要
上一篇,我们了解了引导的一些理论知识,包括分段、分步的概念,强引导与弱引导,引导的触发、类别、操作、保存点等,本篇笔者将结合这些理论来聊聊引导的配表。
场景代入
继续以《率土之滨》游戏为例,假设策划提出要做一个技能学习引导,需求大概是这样的:
当玩家点击某一张卡牌进入到卡牌信息页时,若卡牌等级达到10级,引导玩家点击已解锁的技能槽,进入技能选择页后,引导玩家选择一个可学习的技能,引导结束。
基于理论篇的讲解,将引导拆分如下:
- 触发点:进入卡牌信息页
- 触发条件:卡牌等级达到10级
- 步骤1:弹出引导对话:“主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。”
- 步骤2:引导点击空技能槽
- 步骤3:引导点击技能列表中可学习的技能
- 步骤4:引导点击确定按钮
配置步骤表
抛开引导的触发,先来了解如何将引导的步骤配置到表里。配表前需要对表的结构进行设计,也就是表有哪些列:
- id 用以区分引导步骤,每个id对应不同的引导操作。
- 类型 用于区分某一步引导是对话,还是点击,亦或是其他的逻辑操作。
- 文本 用来配置对话中出现的文本内容。
- 操作 填写除对话以外的其他操作,比如点击技能槽,点击确定按钮。
基于上述,表的结构设计如下:
id | 类型 | 文本 | 操作 |
---|---|---|---|
1 | 对话 | 主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。 | |
2 | 点击 | 点击空技能槽 | |
3 | 点击 | 点击可学习的技能 | |
4 | 点击 | 点击技能学习的确定按钮 |
但是这样的配置,程序是读不懂的,需要调整一下:
- 每一列加字段名,方便程序读取
- 每一列加字段类型,告诉程序这一列的数据类型
- 用数字来枚举类型,如:1表示对话,2表示点击
- 不同的操作也用数字来索引:
- 1:点击空技能槽
- 2:点击技能列表中可学习的技能
- 3:点击技能学习确定按钮
- 因为工具的需要,没有内容的单元格用
0
填充
调整后的表结构就变成了这样:
id | 类型 | 文本 | 操作 |
---|---|---|---|
id | type | text | operation |
B | B | S | B |
1 | 1 | 主公,您的武将已满足技能学习的条件,请学习技能提高武将的实力。 | 0 |
2 | 2 | 0 | 1 |
3 | 2 | 0 | 2 |
4 | 2 | 0 | 3 |
B
表示整型,S
表示表示字符串类型。
配置触发表
如果说步骤表每一行针对的是引导的每一步,那么触发表的每一行针对的就是引导的每一段,触发表用于判定某一段引导是否达到触发条件,若是,则开始这一段引导。
触发表相比步骤表,结构稍微简单些,只需要配置三列:
- 组别id 用于区分当前行判断的是哪一段引导。
- 触发点 也就是试图判断条件的那个点,比如玩家进入了卡牌信息界面,就判断当前卡牌是否满足条件,这个“进入卡牌信息界面”就是所谓的触发点。
- 触发条件 当触发点满足时,开始判断触发条件,若触发条件满足要求,则触发对应的引导。
配表结构如下:
组别id | 触发点 | 触发条件 |
---|---|---|
id | point | cond |
B | B | B |
1 | 1 | 1 |
触发点id索引关系如下:
id | 触发点 |
---|---|
1 | 进入卡牌信息界面 |
触发条件id索引关系如下:
id | 触发条件 |
---|---|
1 | 卡牌信息页的卡牌等级达到10级 |
未完待续
本来想继续讲表的抽象和扩展的,但考虑到没有代码的结合,讲太多只会徒增读者们的困惑,所以本章只做快速的过渡讲解,后续配表将在代码篇之后呈现,还望读者大佬们海涵。另外文章中提到的填表规则并非固定,还需以实际项目的配表规则为准,本文仅以个例提供配表思路。