第四章 第三节 Scratch3.0 创建自制积木

我们可以使用 Scratch的消息广播机制协调各个角色间的行为,也可以使用 Scratch3.0中的“自制积木”即过程。自制积木可以把很长的脚本划分为更小的易于管理的过程。

用过程的思维解决复杂问题的本质就是“分而治之”:将一个很大很复杂的问题分解成许多小的子问题,然后分别解决并独立地测试每一个子问题,最后将这些子问题整合在一起,从而解决了最初的问题。

所谓过程,是指执行特定功能的一系列积木的集合。例如,绘制图形、执行复杂的计算、处理用户输入、弹奏音符或管理游戏等。过程被创建后以积木的形式存在并能卡合到脚本中。

仍以上节课的妙笔生花为例,具体步骤如下

1.在“自制积木”中点击“制作新的积木”,输入积木名称,本例中为drawline和drawflower,然后点“完成”

2.将画线的程序移至 定义drawline积木下方,将画花的程序移至 定义drawflower积木下方

3.将drawline和drawflower积木放到主程序循环内。

第四章 第三节 Scratch3.0 创建自制积木_第1张图片

改用过程的程序如下:
第四章 第三节 Scratch3.0 创建自制积木_第2张图片
第四章 第三节 Scratch3.0 创建自制积木_第3张图片
第四章 第三节 Scratch3.0 创建自制积木_第4张图片
那么使用过程(自制积木)和使用广播模拟过程究竟有什么区别呢?
区别在于:广播只有一个消息名称,是不带参数的。如果要传递参数,就需要使用过程。另外,过程(函数)在编程中是专业用法。例如,给画花的过程中添加一个花朵大小的参数length(边长)。这里的length叫形式参数

第四章 第三节 Scratch3.0 创建自制积木_第5张图片
第四章 第三节 Scratch3.0 创建自制积木_第6张图片
主程序中的25叫实际参数。它会传递给形参length。

 

有关自制积木的总结:

1.过程不能在角色之间共享;

2.给参数命名时,建议使用有实际意义的名称,使其功能和作用一目了然;

3.只有在没有被使用的情况下,才能删除已创建的过程;

4.除数字或文本参数外,你还能添加布尔值参数,我们将在下面讲解变量时继续讨论。

在过程中还能继续调用过程吗?答案是肯定的。这种情形叫作过程的嵌套。

你可能感兴趣的:(第四章 第三节 Scratch3.0 创建自制积木)