跳到主要内容
版本:0.7.0
难度: 简单

清单条目

在Typewriter中,有多种类型的条目,主要的是序列条目,这些是对话条目事件条目动作条目。下一个主要类型的条目是清单条目。虽然序列条目是命令式的,清单条目是声明式的。让我们探讨这两种方法之间的区别以及它们的工作原理。

然后 vs 当

然后 (序列条目)

“然后”逻辑,由序列条目表示,像一组指令一样工作:“做这个,然后做那个,然后做这个其他事情。”它就像一个横向的有向图,其中每一步都以线性方式引导到下一步。

示例:让我们考虑一个Minecraft的Boss条,当玩家穿过村庄时需要显示和更新。

使用“然后”逻辑,你会:

  1. 当玩家进入村庄时显示Boss条
  2. 将Boss条文本更新为“欢迎来到村庄!”
  3. 当玩家进入铁匠铺时,将Boss条文本更新为“看看铁匠铺!”
  4. 当玩家离开铁匠铺时,将Boss条文本更新回“欢迎来到村庄!”
  5. 当玩家离开村庄时隐藏Boss条

当 (清单条目)

“当”逻辑,由清单条目表示,定义条件并指定当这些条件满足时应该发生什么。它就像一个树结构,其中不同的分支代表不同的条件及其相应的动作。

示例:使用相同的村庄场景,使用“当”逻辑,你会:

  • 当玩家在村庄时
    • 显示Boss条,文本为“欢迎来到村庄!”
  • 当玩家在铁匠铺时
    • 将Boss条文本更新为“看看铁匠铺!”

在这种方法中,你定义了动作应该发生的条件,而不是指定一系列线性步骤。 假设你想在村庄中添加更多建筑,并在玩家进入每个建筑时显示不同的消息。 使用“然后”逻辑会带来很多重复的条目,而使用“当”逻辑,你可以简单地添加更多条件和动作,Typewriter会根据玩家的位置决定显示什么。

交互式可视化

为了更好地理解“然后”和“当”逻辑之间的区别,让我们探索一个交互式可视化。 尝试将光标移动到村庄和铁匠铺上,看看Boss条如何根据玩家的位置变化。

在底部,你将看到“然后”和“当”逻辑分别在有向图和树结构中的表示。