节点和线

纺纱机脚本是由 节点 构建的。节点是放置对话的地方。您可以在一个文件中拥有任意数量的节点。

标题:开始
---
旁白:大家好,我是文档的旁白!
===

每个节点至少有一个标头主体的集合。所有节点都至少有一个标头,即标题。标题是节点的名称,正文包含包含游戏对话的 Yarn 脚本。

节点用于分离故事的各个部分,并使管理较长的故事和分支变得更容易。

[!信息] 节点标头可以包含任意数量的具有 ** 结构的行key: value**。这可用于存储附加信息,例如对话发生的位置。

节点的标题很重要,因为您的游戏使用节点标题来告诉 Yarn Spinner 开始运行哪个节点。当您想跳转到另一个节点时,也可以使用节点的标题。节点标题不会向玩家显示。

[!警告] 节点标题必须以字母开头,可以包含字母、数字和下划线。节点名称不能包含 . (时期)。

例如, FirstNode, First_NodeNode1 是有效的,但是 First Node, First.Node1stNode 不是。

--- 标记指示正文的开始位置。在此之后,您可以放置​​所有 Yarn 脚本。

=== 标记表示节点结束的位置;在此之后,您可以开始另一个节点。

节点内部

节点的主体(即节点起始标记之间的内容 --- 和节点结束标记 ===)由三种不同类型的内容组成:命令选项

线路

当您编写纱线纺纱机对话时,您在节点中编写的几乎每一行文本都是。当一个节点运行时,它会运行每一行,一次一行,并将其发送到您的游戏。

对话行就是您希望某个实体或角色说出的内容,通常以说话的实体的名称开头。

例如,请考虑 Night in the Woods 中的以下 Yarn Spinner 脚本片段:

Mae: Well, this is great.
Mae: I mean I didn't expect a party or anything
Mae: but I figured *someone* would be here.
Mae: ...
Mae: Welcome home, Mae.

当这段代码在游戏中运行时,它看起来像这样:

Lines of dialogue running in Night in the Woods.

Yarn Spinner 将这些行中的每一行发送到游戏,一次一行。游戏负责获取文本并将其呈现给玩家;在“林中之夜”的情况下,这意味着绘制对话气泡,为每个字母添加动画,然后等待用户按下某个键以前进到下一行。

对话行可以包含几乎任何文本,但 Yarn Spinner 用来向一行添加额外信息的一些特殊字符除外。

如果行首的冒号 (:) 之前有一组不带空格的字符,Yarn Spinner 会将其标记为字符的名称。然后,此信息将传递到您的游戏,以便您可以根据说台词的角色更改台词的显示方式。例如:

This is a line of dialogue, without a character name.
Speaker: This is another line of dialogue said by a character called "Speaker".

节点还可以有一个 color: 和一个 group: 在它们的标题中,它指定节点顶部的条显示的颜色,以及它们聚集在的组中,在图形视图中 纺纱机编辑器:

您还可以通过添加将节点设置为粘滞便笺 style: note 到节点头。这将以不同的方式在图形视图中呈现节点 纺纱机编辑器。这 color: 如果设置了节点的属性,那么该节点的属性也会受到尊重,否则便笺将默认为黄色:

您可以了解更多有关 定制图表视图writing-yarn-in-vs-code.md 部分。

写一个简单的故事

步骤1

使用 Try Yarn Spinner 在单个节点内编写故事。

使用 VS Code 在一个节点内编写一个 5 到 10 行的小故事。


这是我们的故事,如果你想不出主意:

标题:开始
---
导航员:量子涨落正在加剧。我们现在需要跳。
队长:但是计算还没有完成。我们可能会去任何地方。
导航员:虫洞正在塌陷。要么现在,要么永远。
队长:好的。启动跳跃序列。
导航员:出了点问题。我们被拉向后...
队长:那是不可能的。除非...
领航员:我们出发前就到了。我们已经成为我们自己的救援任务。
===

步骤2

在 VS Code 中以预览模式播放您的故事

使用命令面板预览您的小故事。

[^1]:该节点的标头。它包含一个 key: value 对,这是强制性的标题。该节点名为 Start.

[^2]:这是节点开始标记。它必须在标题之后单独占一行。

[^3]:这是该节点内的单行。它有一个角色名称(Narrator)和一些对话。

[^4]:这是节点结束标记。它必须单独放置在节点中所有行之后的行上。

[^5]:这称为 标头。这个标题标题,并且每个节点中始终需要它。

[^6]:这表示节点内容的开始。

[^7]:表示节点的结束。