上一期,我们学习了 Scratch 中的最后一种流程控制方式 —— 选择,并做了一个小猫说 “HAPPY NEW YEAR” 的动画。
今天我们来学习一个编程中很重要的概念 —— 变量。
Change is the only constant in life.
Heraclitus
这个词在生活中很少出现,好像不太好理解,在计算机科学中,变量的定义是很复杂的,包含多种属性。
我们现在只需要对变量做个形象化的理解即可。举个例子来说一下:
叶子 | Unsplash
我们都知道,对于一片叶子而言,它的颜色在四季中是不一样,会随着季节的变化而发生改变,那怎么来表示叶子的颜色呢?
我们可以 定义 叶子的颜色为 变量 color,然后把某一种颜色 赋值 给变量 color。
如果是夏天,那么: color = 绿色 如果是秋天,那么: color = 黄色 如果是冬天,那么: color = 红色
我们发现,叶子的颜色不是一成不变的,而是根据季节而发生不断的 改变,我们把值会发生改变的这个 color 称为变量。
我们再来看一个例子:
盆栽植物 | Pixabay
如果我们养了一株小树苗,它从破土而出,到长大的过程中,发生了什么变化?
Vicky:大了呀,叶子多了呀。
没错,我们会明显的发现,从外观上看,主要发生了两处变化,首先,这株植物越长越高,叶子也越来越多。
如果我们关注叶子的数目,可以用一个名字来代表叶子的数量,比如 number。
随着小树的长大,number 的值会从开始的 3 变为 4, 再变为更多:
number = 3 number = 4 number = ...
这个 number 也是变量。
再有,一个人的年龄,一天中的气温,你学习的英语单词的数量,它们都是在不断变化的,都可以用变量来进行定义和表示。
好啦,初步理解了变量的含义后,我们用 Scratch 来做一个含有变量的小动画吧~
今天,我们来做个企鹅宝宝找妈妈的动画:在南极的冰原上,企鹅宝宝和妈妈走散了,一开始,企鹅宝宝还慢慢的走着找妈妈,后来越来越着急,走的就越来越快了。
这一步我们做过很多次啦,做完后是这样的:
舞台背景和角色
需要说明一点的是,我们调整了企鹅的大小,方法是修改箭头指向的 “大小 Size” 里面的数值,数值越小,角色就越小。
在使用变量之前,我们先做一个基本的小动画,就是企鹅宝宝每次向前移动一步,放在循环里执行:
企鹅开始匀速移动
怎么能让企鹅宝宝越走越快呢,变量派上用场了:我们定义一个表示步伐的变量 —— steps,初始赋值为 1,表示开始时第一次企鹅宝宝移动 1 步。
具体操作是点击左侧 “变量 variables” 按钮,再点击 “建立一个变量 Make a Variable” 按钮:
建立变量
在弹出窗口中, 在 “新变量名 New variable name” 中填写变量的名字 “steps”:
为变量命名
现在,新的变量就创建出来了,我们把 “将 steps 设为 0 set steps to 0” 拖到脚本区循环的上方,并把初始值由 0 改为 1,表示企鹅宝宝第一次走 1 步。
为变量设置初始值
然而企鹅宝宝不是每次移动一步,而是移动 steps 步,因为 steps 是一个变量,可以发生变化,这样企鹅宝宝移动的速度就可以由我们来控制了。
所以我们再把变量 steps 拖到脚本区,放到原来的 “移动 1 步 move 1 steps” 中的 1 的位置:
使用变量
我们的设定是让企鹅宝宝越走越快,所以在每次企鹅宝宝走完当前的步数后,我们把循环中的变量 steps 在原有的基础上多一步,这样变量的值就发生了变化。
把左侧的 “将 steps 增加 1 change steps by 1” 拖到脚本中的 “移动 steps 步” 的下方:
让变量发生变化
这样,程序运行起来,企鹅宝宝就会越走越快啦,同时在左上角还会显示变量 steps 的当前值,表示企鹅宝宝每一次走的步伐数:
越走越快的企鹅宝宝
企鹅宝宝如果就这样一直走下去,会越走越快,停不下来,这可不行,它是要找妈妈的。
在不远的将来,我们会添加一个新的角色 —— 企鹅妈妈,当企鹅妈妈出现时,企鹅宝宝就会停下脚步,扑向妈妈的怀抱~
今天我们还知道了 8 个单词的含义: