上一期,我们继续探索 Scratch 的扩展模块,学习了翻译和朗读这两个模块,以及列表的使用,并制作了一个相关的小作品。
今天,我们来一起学习 Scratch 中的一个高阶内容 —— 克隆,然后利用克隆技术实现一个小作品 —— 星光雪夜。
拔一根毫毛,吹出猴万个 —— 猴哥
还记得动画片西游记吗,你一定听过这首歌。
孙悟空是我们童年的心中偶像,七十二变的魔法更是让我们着迷。
拔一根毫毛,吹出猴万个,这句话放在以前是神话,但在今天,却已经变成了现实。
早在二十多年前的 1996 年,科学家就成功克隆了绵羊多利,就是产生了一个和它的母体完全相同的新个体:
Dolly 和它的宝宝 Bonnie
在计算机科学中,克隆 Clone 也是一个重要的概念,一般指代对某一个对象的完整复制。
Scratch 也提供了关于克隆的代码组件:
克隆代码组件
克隆相关的内容在控制代码块组中,有三个具体的代码块:
我们来看一个小的例子:
首先,我们设定了一个被克隆的母体 —— 大猫妈妈:
大猫妈妈
在一个执行 4 次的循环中,我们先后克隆 4 个小猫宝宝,它们的编号用变量 n 来表示,分别为 1、2、3、4。
然后,我们使用 “当作为克隆体启动时 when I start as a clone” 让被克隆的小猫宝宝做一些事情:
四只克隆出的小猫宝宝
四只小猫宝宝做的事情是类似的。
以紫色方框的第一只小猫为例,当 n = 1 时,代表是第一只小猫,它向前移动了一些,说了句话 “我是向前的小猫”,然后使用 “删除此克隆体 delete this clone” 消失。
其他三只小猫也是类似的操作:
克隆的结果
这就是克隆相关的基本操作,学会了吧~
在学会了克隆之后,我们使用克隆来制作一个小的作品。
通过对克隆的学习,我们不难发现,克隆这个功能适合用来制作一些大量重复的元素,于是今天我们来制作一个 “星光雪夜” 的小动画:
首先,我们在一个黑夜的背景上,使用克隆的方式,添加十颗小星星,放在随机的位置上:
克隆小星星
注意,在克隆完成后,发送 “cloudy” 的广播,然后乌云开始登场了:
两片乌云的出现
乌云停止后,发送广播 “snowing”,开始下雪:
雪花的克隆
我们再次使用了克隆,复制了一百万片雪花。
注意,关于雪花的大小,出现的位置和下落的地点,我们使用了很多的随机值。
这样,我们的作品就完成啦,一起来看看吧:
今天我们还知道了以下单词的含义: