上一节我们接触了克隆体,在一个对象需要重复出现时,我们就可以采用克隆的办法。比方说,射击游戏的中的子弹可以使用克隆体,对抗游戏中反复出现的杂兵也可以使用克隆体,消除类游戏中的积木同样可以使用克隆体。克隆体体现了一种单一资源重复利用的思想。事实上,可重用,本来就是电脑程序的一个特点。在上一节课程的结尾,我们提到克隆体允许存在的上限是302个,这个数据从何而来,我们现在就来验证一下。
克隆体示例下载 提取码: jrpn
我们仍旧采用上一节课程的示例文件,示例文件中按一次空格键,就会生成一个克隆体,而每次生成克隆体的时候,克隆体都会自动执行同一套动作。想像一下有一个班的同学,我们从1开始,让全班同学轮流报数,每次加1。比如第一个同学报1,第二个同学报2,一共10个同学,那么第10个同学的报数刚好也是10。
我们可以把这个数字理解为班级的人数,但在统计过程中这个班级总人数是在不断变化的,对于在程序中不断产生变化的数字,我们一般会为它定义一个变量来存放。所谓变量,就是一个允许在程序中产生变化的量,变量需要有一个固定的名字,以便程序能够准确的定位到它。Scratch中默认定义了一个名为“我的变量”的变量,当然我们也可以自己来定义一个变量。
为了能够更好的观察到数字的变化,我们先开启变量的显示窗口,单击箭头指向的积木,显示区域中会出现一个小窗口,上面显示的数值,就是变量当前的值,如果之前没有点击过更改变量数值的积木,那么当前值应该为0。在“当作为克隆体启动时”这块积木下面,我们增加了一块改动变量数值的积木,叫“将我的变量增加1”,增加幅度是允许自定义的,我们这里是出现一个克隆体就增加一次,所以就按1的幅度增加。为了得到准确的数字,我们在运行克隆体后不再将克隆体删除,程序摆放完毕后,在显示窗口中开始轰炸一直到无法出现炸弹为止。
这里为了能够看到克隆体,我将原来循环11次的动画改为了5次,这样对象只播放到第六幅图片就停止了动作,因为没有删除克隆体这一步骤,所有的克隆体都保留在了屏幕显示区域,达到上限后,可以观察到屏幕左上方变量的数值变为了302。点击变量显示区域上方的红色圆圈停止程序,克隆体消失了,但是变量的值并没有改变,这个时候再重新测试数值,那么得出来的数字有可能会变为604。显然不是准确的结果,如果要重新测试一次的话,我们需要将变量的值重新调整为0,这个操作叫做变量的初始化,初始化的积木其实博主已经拖出来了,对,就是那块孤零零的名叫“将我的变量设为0”积木。