对话

在Scratch中,两个或更多的角色可以互相对话,进行对话交流。与此相关的有几种编程方法,每种方法都各具特色。主要使用广播(broadcast)模块或其定时版本来进行对话。

方法

在整篇文章中,假设进行对话的两个角色是"Scratch猫"和"Gobo"。

广播方法

广播方法并不总是最高效的方式来实现角色之间的通信,但可以通过广播和不使用变量或列表来轻松进行简短的对话。下面的脚本将放置在"Scratch猫"角色中。

t图1

然后,在Gobo角色中:

图2

这两个角色之间不断地互相广播消息来进行对话。然而,当对话变得很长时,需要多次广播,脚本可能变得混乱不堪。

广播和等待方法

这种方法稍微更加高效,因为只需要在第一个角色中编写一个脚本来进行对话。

图3

然后,在Gobo角色中:

图4

变量方法

变量方法使用一个变量来触发另一个角色进行对话。当一个角色说完话后,它会将一个变量改变为"1",另一个角色识别到变量的改变后开始说话。下面的脚本将放置在"Scratch猫"角色中。

图5

然后,在"Gobo"角色中:

图6

脚本可以不断循环运行。长时间对话可能导致脚本非常长,但不需要使用多个广播。变量方法通常适用于无序对话,其中有多个角色以非规律的方式进行对话。

列表方法

列表方法无论对话的长度如何,所需的脚本量是相同的。它是减小脚本长度和项目文件大小的好方法。列表方法使用两个脚本,一个用于"Scratch猫"的消息,另一个用于"Gobo"的消息。第一个角色说一句话,触发第二个角色说话,然后循环继续,当两个角色都说完后,通过改变一个变量来指示列表中的下一条消息。列表用于简单地存储每个角色要说的文本,并按顺序进行。下面的脚本放置在"Scratch猫"角色中。

图7

然后,在"Gobo"角色中:

图8

标签: Scratch, Scratch编程, Scratch中国, 少儿编程, Scratch社区, Scratch编程社区, Scratch编程课程, Scratch编程教程