少儿编程

系列

和 Vicky 一起学习 Scratch 系列之十五 | 星光雪夜

前言

上一期,我们继续探索 Scratch 的扩展模块,学习了翻译和朗读这两个模块,以及列表的使用,并制作了一个相关的小作品。

今天,我们来一起学习 Scratch 中的一个高阶内容 —— 克隆,然后利用克隆技术实现一个小作品 —— 星光雪夜。

克隆

拔一根毫毛,吹出猴万个
—— 猴哥
                

还记得动画片西游记吗,你一定听过这首歌。

孙悟空是我们童年的心中偶像,七十二变的魔法更是让我们着迷。

拔一根毫毛,吹出猴万个,这句话放在以前是神话,但在今天,却已经变成了现实。

早在二十多年前的 1996 年,科学家就成功克隆了绵羊多利,就是产生了一个和它的母体完全相同的新个体:

Dolly 和它的宝宝 Bonnie

在计算机科学中,克隆 Clone 也是一个重要的概念,一般指代对某一个对象的完整复制。

Scratch 中的克隆

Scratch 也提供了关于克隆的代码组件:

克隆代码组件

克隆相关的内容在控制代码块组中,有三个具体的代码块:

  1. 当作为克隆体启动时
  2. 克隆自己
  3. 删除此克隆体

我们来看一个小的例子:

首先,我们设定了一个被克隆的母体 —— 大猫妈妈:

大猫妈妈

在一个执行 4 次的循环中,我们先后克隆 4 个小猫宝宝,它们的编号用变量 n 来表示,分别为 1、2、3、4。

然后,我们使用 “当作为克隆体启动时 when I start as a clone” 让被克隆的小猫宝宝做一些事情:

四只克隆出的小猫宝宝

四只小猫宝宝做的事情是类似的。

以紫色方框的第一只小猫为例,当 n = 1 时,代表是第一只小猫,它向前移动了一些,说了句话 “我是向前的小猫”,然后使用 “删除此克隆体 delete this clone” 消失。

其他三只小猫也是类似的操作:

克隆的结果

这就是克隆相关的基本操作,学会了吧~

作品的选题

在学会了克隆之后,我们使用克隆来制作一个小的作品。

通过对克隆的学习,我们不难发现,克隆这个功能适合用来制作一些大量重复的元素,于是今天我们来制作一个 “星光雪夜” 的小动画:

  1. 天黑了,漫天繁星开始出现
  2. 乌云飘了过来,隐藏了一些星星
  3. 开始下雪了,天上飘起了雪花

作品的实现

首先,我们在一个黑夜的背景上,使用克隆的方式,添加十颗小星星,放在随机的位置上:

克隆小星星

注意,在克隆完成后,发送 “cloudy” 的广播,然后乌云开始登场了:

两片乌云的出现

乌云停止后,发送广播 “snowing”,开始下雪:

雪花的克隆

我们再次使用了克隆,复制了一百万片雪花。

注意,关于雪花的大小,出现的位置和下落的地点,我们使用了很多的随机值。

这样,我们的作品就完成啦,一起来看看吧:

今天我们还知道了以下单词的含义:

  • clone 克隆