版本:0.7.0
难度: 简单
清单条目
在Typewriter中,有多种类型的条目,主要的是序列条目
,这些是对话条目
、事件条目
和动作条目
。下一个主要类型的条目是清单条目
。虽然序列条目
是命令式的,清单条目
是声明式的。让我们探讨这两种方法之间的区别以及它们的工作原理。
然后 vs 当
然后 (序列条目
)
“然后”逻辑,由序列条目
表示,像一组指令一样工作:“做这个,然后做那个,然后做这个其他事情。”它就像一个横向的有向图,其中每一步都以线性方式引导到下一步。
示例:让我们考虑一个Minecraft的Boss条,当玩家穿过村庄时需要显示和更新。
使用“然后”逻辑,你会:
- 当玩家进入村庄时显示Boss条
- 将Boss条文本更新为“欢迎来到村庄!”
- 当玩家进入铁匠铺时,将Boss条文本更新为“看看铁匠铺!”
- 当玩家离开铁匠铺时,将Boss条文本更新回“欢迎来到村庄!”
- 当玩家离开村庄时隐藏Boss条
当 (清单条目
)
“当”逻辑,由清单条目
表示,定义条件并指定当这些条件满足时应该发生什么。它就像一个树结构,其中不同的分支代表不同的条件及其相应的动作。
示例:使用相同的村庄场景,使用“当”逻辑,你会:
- 当玩家在村庄时
- 显示Boss条,文本为“欢迎来到村庄!”
- 当玩家在铁匠铺时
- 将Boss条文本更新为“看看铁匠铺!”
在这种方法中,你定义了动作应该发生的条件,而不是指定一系列线性步骤。 假设你想在村庄中添加更多建筑,并在玩家进入每个建筑时显示不同的消息。 使用“然后”逻辑会带来很多重复的条目,而使用“当”逻辑,你可以简单地添加更多条件和动作,Typewriter会根据玩家的位置决定显示什么。
交互式可视化
为了更好地理解“然后”和“当”逻辑之间的区别,让我们探索一个交互式可视化。 尝试将光标移动到村庄和铁匠铺上,看看Boss条如何根据玩家的位置变化。
在底部,你将看到“然后”和“当”逻辑分别在有向图和树结构中的表示。