2018年ScratchMaths编程第八课:自定义模块

网友投稿 2018-02-26 23:18

https://cdn.china-scratch.com/timg/180228/231U2G04-0.jpg

学习目标

§ 探索:怎样定义新模块,并在代码中使用新模块。

§ 解释:模块的定义是什么,为什么要定义新模块呢?

课程准备

本节课基于Rose patterns.sb2项目(下载链接:https://pan.baidu.com/s/1djBFNS 密码:384c)学习自定义代码模块。在使用该项目文件之前,先对文件进行备份。

课程内容

§ 复习算法的概念,完成下图所示算法练习。

https://cdn.china-scratch.com/timg/180228/231U32520-1.jpg

§ 打开Rose patterns.sb2项目,利用move-stamp-move back-turn算法创建玫瑰图形。

§ 在Scripts标签页下找到More Blocks组,点击Make a Block按钮,参考下图。

https://cdn.china-scratch.com/timg/180228/231U35910-2.jpg

图一 新建模块

§ 在New Block对话框里,给新建的模块起个容易理解的名字,这个名字要能反映这个模块的功能,比如my rose. 起好名字后点击OK。然后可以看到在More blocks组里出现了一个名为my rose的新模块,而且一个名为define my rose的模块出现在代码区。如下图所示。

https://cdn.china-scratch.com/timg/180228/231U34945-3.jpg

图二 新建模块的场所

§ 在代码区把新建的define my rose模块放置到玫瑰图形代码的顶部,参照下图。至此就完成了定义新模块的过程。而且这个新模块的定义可以在需要的时候进行修改。

https://cdn.china-scratch.com/timg/180228/231U34615-4.jpg

图三 完成新模块的定义

这个定义出来的模块可以当成一个独立的模块使用,也可以在脚本代码里和其他模块一起使用,它的作用就是印制一个完整的玫瑰图形。

§ 从Scripts标签下往代码区拖入一个my rose模块并点击它,然后把角色拖放到舞台上的空白区域并再次点击my rose模块。

§ 多次利用这个新模块创建脚本并运行,然后观察效果。以下脚本和运行效果供参考。

https://cdn.china-scratch.com/timg/180228/231U2G04-0.jpg

图三 完成新模块的定义


思考题

1. 为什么定义自己的模块很有用?

2. 定义自己的模块时怎样命名?

作业

尝试改变新模块的定义,使得新模块有不同的作用,并用不同的名字创建几个新模块,然后在代码里使用这些模块。新模块的功能参考下图。

https://cdn.china-scratch.com/timg/180228/231U35195-6.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com