Scratch青少年编程教程(九)~制作红绿灯动画

admin 发表于 2019-08-20 11:20

01-目标

在本课程中,将继续学习Scratch编程常见的编程结构:循环语句。在不少实际问题中有许多具有规律性的重复操作,因此在程序中就需要重复执行某些语句。课程提供Scratch软件编程的红绿灯动画教程来增加对循环语句的理解。通过本课程,可以掌握循环语句的用法,包括循环语句嵌套使用的方法。
循环语句是由循环体及循环的终止条件两部分组成的。一组被重复执行的语句称之为循环体,能否继续重复,决定循环的终止条件。 
循环语句是编程常见的语句,Scratch中提供了以下三种循环语句的方式,如下图所示:

https://cdn.china-scratch.com/timg/190820/1120335A4-0.jpg

第一种循环语句是让循环体一直重复执行,没有终止条件;第二种循环语句是当循环体达到计时次数时就退出循环体;第三种循环语句是通过条件判断退出循环体。以跑步为例,第一种循环体是老师要求学生一直在操场跑步,不能停下;第二种循环体是老师要求学生跑到规定次数才能停下;第三种循环体是学生要一直在操场跑步,直到老师让学生停下位置。

02-编程实例

通过Scratch软件,制作一个红绿灯动画的程序,加深对循环语句的了解。在制作红绿灯动画的程序中,可以掌握循环语句的用法,包括循环语句嵌套使用的方法。“红绿灯动画”基础版和进阶版的最终效果展示如下:

https://cdn.china-scratch.com/timg/190820/1120331S2-1.jpg

https://cdn.china-scratch.com/timg/190820/112034L32-2.jpg

动画制作要求:1.红灯亮5S;2.黄灯闪烁3次;3.绿灯亮5S,接着闪烁3次;4.小车在绿灯时驶过路口;

微信回复“红绿灯动画-基础版”、“红绿灯动画-进阶版”即可得到程序原代码。

03-模型搭建

第一步:搭建角色和背景

(1)新建项目:在菜单栏“文件”中,选择“新建项目”,创建一个空的项目,工程文件命名为“红绿灯动画制作”;

(2)创建空舞台:将鼠标移动到小猫的位置,鼠标右击,选择“删除”;此时整个项目都是空的。

(3)创建红绿灯角色:此处需要先准备以下四个红绿灯的造型,可以网上下载红绿灯图片或者微信回复“红绿灯造型图片”获取。

首先选择“从本地文件中上传角色”,选取准备好的一张红绿灯图片:

https://cdn.china-scratch.com/timg/190820/112034A51-3.jpg

然后在造型中,上传剩余的三张红绿灯照片,创建好的红绿灯造型如下图所示,并将四个造型分别命名为:

"red"、"orange"、"green"和"none"。

https://cdn.china-scratch.com/timg/190820/1120343Y0-4.jpg

(4)创建小车角色:选择 “从角色库中选取角色”,在“交通工具”里选取“Convertible3”的小车造型,创建好的小车造型如下图所示:

https://cdn.china-scratch.com/timg/190820/1120342Y0-5.jpg

https://cdn.china-scratch.com/timg/190820/11203521F-6.jpg

(5)创建背景:在背景库中,选择一个背景,在“户外”中,选取“urban2”的背景。

https://cdn.china-scratch.com/timg/190820/1120351340-7.jpg

创建好的角色和背景如下图所示,其中红绿灯可以通过鼠标移动到图形的右上角:

https://cdn.china-scratch.com/timg/190820/1120353302-8.jpg

(5)保存项目:在菜单栏“文件”中,选择“保存”。

第二步:红绿灯程序搭建

点击红绿灯造型,开始创建红绿灯造型的程序脚本。

(1)程序初始化:程序开始,首先让红绿灯定义红绿灯的初始位置和大小:

https://cdn.china-scratch.com/timg/190820/1120353O2-9.jpg

(2)红灯亮5S:首先让红绿灯程序可以不断循环运行,此处通过循环语句的“重复执行实现”;

然后将造型切换为红灯,并且等待5秒,这样红灯就能保持5秒。程序如下:

https://cdn.china-scratch.com/timg/190820/1120354052-10.jpg

(3)黄灯闪烁3S:红灯亮完5秒,将造型切换为黄灯;通过循环语句,重复执行3次,让黄灯在亮暗之间来回切换3次,代表黄灯的闪烁。

https://cdn.china-scratch.com/timg/190820/1120351227-11.jpg

(4)绿灯亮5S,接着闪烁3次:绿灯的程序实际上是红灯和黄灯程序的叠加,程序如下,注意,此处添加了一个变成绿灯时,发送一个star car的命令程序:

https://cdn.china-scratch.com/timg/190820/1120363K7-12.jpg

(5)程序调试:红绿灯程序搭建完,可以进行程序调试,结果如下:

https://cdn.china-scratch.com/timg/190820/11203622K-13.jpg

(6)保存项目:在菜单栏“文件”中,选择“保存”。

第三步:小车程序搭建

(1)初始化小车位置和大小:首先,初始化小车的位置和大小,程序如下:

https://cdn.china-scratch.com/timg/190820/11203620M-14.jpg

(2)小车程序:当小车接收到红绿灯程序发送的“star car”命令时,开始执行移动的命令,直到小车移动碰到边缘位置,最后将小车移动回原位置。

https://cdn.china-scratch.com/timg/190820/1120364c7-15.jpg

(3)保存项目:至此,完成整个程序的搭建,在菜单栏“文件”中,选择“保存”。

04-完整程序

红绿灯的程序如下:

https://cdn.china-scratch.com/timg/190820/1120363K7-12.jpg

小车的程序如下:

https://cdn.china-scratch.com/timg/190820/11203B413-17.jpg

05-程序升级与思考

(1)如何要让小车碰到边缘时消失,程序应该如何更改?

(2)如何定义更多有趣的红绿灯动画?例如,像文章开头添加一个人物过马路的动画?

后记,小编朋友公司研发了一个游戏化的少儿编程在线课程(5-12岁),游戏化教学结合scratch(一款在线少儿编程工具,类似乐高的积木拼搭),我家娃娃学了几次课,非常喜欢(超预期),16次课才200多块钱,对锻炼孩子的思维能力和动手动力很有帮助。

感兴趣的朋友可以扫描二维码,关注一下,或微信搜索“大耳猴少儿编程”

https://www.china-scratch.com/Uploads/Editor/2018-04-22/5adca08bdc212.jpg