我想知道我们需要以下字段:
node call_reason
{
do
{
digression disable sayHi;
goto next;
}
transitions
{
next: goto how_are_you;
}
}
我想,你问这个问题是因为你对语法有点困惑,我会尽量说清楚。
DashaScript 是用于描述自动对话的语言。基本上,任何对话脚本都包括
从某种意义上说,脚本化对话可以被认为是一个图表。在这种情况下,节点和转移可以分别解释为图的顶点和边。
因此,node
并transition
定义对话脚本的结构。
每个node
都有小节do
,您可以在其中指定要在此特定node
.
此外,node
可能有transitions
用于指定将当前状态切换到另一个状态的条件的小节。
本节中指定的每个事件转换(如事件转换和计时器转换)都具有以下语法:<transition_name>: goto <node_name> on <switching_condition>
.
即时转换(如您的代码中使用的转换)没有条件:<transition_name>: goto <node_name>
. 要执行这样的转换,它必须在do
当前节点的节中用goto
指令调用。
此外,还有可以从任何状态访问的特殊节点。这些节点称为离题。(见题外话文档)。它们用于在您的对话中做出快速反应并返回到对话的主要分支。为了控制离题,我们有启用/禁用它们的机制(参见离题控制文档)。
因此,在您的示例中,node
名称call_reason
具有部分do
,您可以在其中执行disable
degression-node,然后next
执行带有名称的即时转换。
上面提到的 DashaScript 语言的所有实体都在程序结构文档中进行了描述。我建议您检查一下,因为您可能需要了解更多重要的实体。
set
是用于为某个变量赋值的指令。例子:
node some_node
{
do {
var some_variable: number = 1;
set some_variable = 2; // now some_variable has value of 2
}
}
exit
是中断对话的指令。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句