Scratch编程为我们提供了很多功能的基本语句,在前面的几个篇章中我们逐一熟悉了这些基本语句的功能。利用这些基本的原材料我们就可以编制出我们想要的功能,制作出好玩的动画和游戏。但有的时候这些基本语句又显得过于简单,让我们实现一些比较复杂的功能就显得非常繁琐。还有些时候,在我们的程序中会有很多重复的功能,在我们写程序的时候每一次都将这个功能的大段脚本重复一遍会让我们的程序显得非常冗长,影响可读性。例如在上次我们绘制彩色蜘蛛网的程序中我们将绘制一个六边形的程序重复了3次,而这3次所画出的六边形仅仅是边长不同,绘制的起始位置不同而已,具体到绘制的程序倒是完全相同的。这里我们仅仅是画了3次,要是我们想让这个蜘蛛网有10层六边形嵌套呢?我们是不是要重复写10次那段程序呢?我们有什么好的办法能够将这种重复的工作简化吗?
答案是肯定的,我们可以将类似这种重复的工作进行简化。Scratch软件为我们提供了制作自己定制语句的功能——更多积木栏。
在更多积木栏中有两个选项:制作新的积木和添加扩展。制作新的积木就是我们上面提到的自定义程序语句功能,而添加扩展可以添加一些硬件,比如Lego的WeDo编程玩具等。这里我们主要熟悉一下制作新的积木功能。其实我们可以用一个在编程领域更加通用的名称来称呼制作新的积木功能,那就是函数,也就是我们将一段需要重复利用的程序打包并赋予它一个统一的名称,然后在具体程序中需要使用这一功能的地方调用这个名称的积木(脚本函数)。我们点击制作新的积木按钮来看看会发生什么?
我们给新的积木起名叫做“画线”,用来在舞台上画出一定长度的直线。在选项菜单下面可以添加一些参数,它们的数值类型是不同的。比如这里我们添加三个数字参数,分别代表“起点x坐标”,“起点y坐标”和“线段长度”。这样一个新的积木就创建出来了,点击确认后我们发现在脚本区域会增加一段程序的开头,像一个小房子的屋顶一样。
在这下面我们就可以为实现画线来写具体的程序了。
这段程序首先将画笔选定颜色和粗细,然后移动到参数“起点x坐标”和“起点y坐标”的位置,选定从左向右画线,然后落笔画出参数“线段长度”所规定的长度,画完之后抬笔。程序中需要用到我们定义的参数的地方只需要从屋顶定义处将所需的参数拖放过去就可以了。有了这段自定义的积木程序,我们就可以随时使用它画出我们需要的线段了。
在这个实例程序中,我们创建了三个变量x,y,长度。在一个5次循环中分别赋予它们一个随机数值,然后调用画线积木,并将x,y,长度变量放到画线积木所定义的三个参数位置。在此我们可以看出在具体程序中这三个参数是有实际意义的,需要创建具体的变量来赋予它们具体的数值。而在上面定义积木的时候这三个参数是没有实际意义的,它们仅仅是一些代号,可以是任意的数值。在Scratch程序中我们也可以发现它们被定义为不同的颜色加以区分。在编程理论中我们将自定义功能(函数)中所创建的参数叫做形式参数,它们只作为一种代号而存在,不具有实际的数值。同时将在调用自定义功能(函数)时才给形式参数赋予的数值或变量叫做实际参数,它们才是具有实际意义的参数,是将一个功能实例化的结果。
好了,今天我们在此了解了Scratch编程中的”多积木”的扩展功能,这可是一个非常有用的工具,它可以将Scratch的基础功能进一步扩展,实现更加复杂的功能,也可以优化编程过程,让程序更加容易理解。如果我们在今后去学习更加高级的编程语言,函数功能更是我们离不开的一项利器。
领取专属 10元无门槛券
私享最新 技术干货