【少儿编程】用scratch实现人物飞行

网友投稿 2018-08-12 12:35

https://cdn.china-scratch.com/timg/180814/12353a635-0.jpg

https://cdn.china-scratch.com/timg/180814/1235393259-1.jpg

Scratch简单易操作,通过图形控件,小孩可以在不编写任何代码的情况下,实现很多程序功能,从阿童木学员的初步体验来看,六七岁以上的小孩即可上手。

Scratch使用了舞台、角色概念,内置的人物、动物、玩具等,学起来就像玩游戏,对小孩还是很有吸引力的,也是适合家庭教学的编程软件。在学习初期,孩子还不能独立完成程序任务的情况下,家长或老师可以指导小孩完成程序设计,做一个小动画,实现各种变化,特别是家长与孩子,或者孩子们一起玩scratch的时候,孩子的兴致会很高昂。

学员无需下载Scratch软件,可以直接在MIT网站上使用scratch.mit.edu,这个网站支持中文,网页最下方可以选择语言-中文。可以存为本地文件,在本地Scratch软件中修改,也可以直接保存到MIT网上。

https://cdn.china-scratch.com/timg/180814/1235396049-2.jpg

我们确定今天的主题是——实现角色飞行

我弄了几个角色供孩子们选择——骑士、射手、牧师、巫师、驱魔人,孩子们最后达成一致意见,选择了巫师,果然前段时间不该给孩子们讲哈利波特的。

https://cdn.china-scratch.com/timg/180814/1235392259-3.jpg

我们的计划是,让巫师从舞台左下角飞到舞台右上角,达到右上角以后,回到左下角原点,后来又添加了螃蟹、蝙蝠、鬼怪。打算巫师是对角飞,螃蟹是在下方左右翻滚移动,鬼怪在中间左右平飞,蝙蝠在舞台中间自下而上飞,同时蝙蝠会逐渐变大。

https://cdn.china-scratch.com/timg/180814/1235396049-2.jpg

 一步一步来,先完成巫师的对角飞行

介绍舞台的X方向和Y反向。舞台的正中央是零点。如果要想让某个角色从左到右移动,那么横向的X是增加还是减少?

答案是X++,比如一次加1或者一次加4,加的越多,就飞得越快。然后巫师还需要往上飞,因此Y方向要向上移动,即Y++。如果要往左飞,则X--,往下飞则Y--。舞台最右边是X=240,最左边是X=-240。舞台最上面是Y=180, 最下面是Y=-180。负数就是比零还小的数字。

 孩子们有了这个认知后,我们进入脚本区域

介绍第一个分类是“事件”。在事件中,我们添加了“当小绿旗子被点击”,就是开始按钮,然后执行一些操作。

1)巫师图片太大了,咱们先来设定巫师的大小,孩子们说设定为60,好吧,那就这样吧!

怎么操作?

进入“外观”,里面有一个控件“将角色大小设定为XX”,XX空格中可以录入数字。将这个控件拉过来,把开始小旗子磁贴粘贴在一起。这和乐高的WEDO类似,就是几个控件依次放在一起。

https://cdn.china-scratch.com/timg/180814/12353953Z-5.jpg

2)要实现巫师往右飞,我们使用了“运动”中的控件“将X坐标增加XX”,我们设定了增加4。

3)要实现巫师往上飞,我们使用了“运动”中的控件“将Y坐标增加XX”,我们设定了增加3。

这时候已经可以开始运行了,但是每次点击运行,巫师只会飞一点点,需要不停点击,才能往右上角飞。

那如何让巫师实现连续飞行?

使用循环

4)循环属于“控制”,在“控制”分类中,选择重复执行这个框,将X,Y的两个控件都包括在内。

因为是重复无数次执行,因此我们实现了巫师对角飞行。但是问题又来了。巫师碰到右上角以后,就飞出去不动了,因为到底了。

如何解决这个问题?

这时候我们讨论,每飞一次,我们就检查一下,如果X坐标大于240,我们就然巫师重新回到左下角。因此我们增加了一个判断。

5)判断还是属于“控制”,在控制中增加“如何…..那么”的判断。

6)判断有条件,条件属于“运算”,我们到“运算”中,拖一个“某某>某某”的判断控件到这个“如果…那么”上。

然后获取巫师的当前位置,这可以在“运动”中找到“X坐标”。判断条件是:

X坐标> 240。

7)如果条件满足,我们就要让巫师回到原点,即X坐标等于-240,Y坐标等于-180。

运行,巫师就开始对角飞行,飞到右上角以后,又重新回到坐下角,不停的重复。

后来我们按照相同的方法,实现了旁边从左到右,里面增加了一个运动动作“右转XX度”。

鬼怪的动作我们选择了,从左到右,但更简单,没有使用判断,只是往右执行120次,X轴每次增加4,执行完毕以后,继续执行120次,但是每次增加-4,这样就实现了不停来回的移动。

https://cdn.china-scratch.com/timg/180814/12353962Y-6.jpg

对于蝙蝠,我们加上了大小变换。从下往上移动,还是使用判断,到达顶部以后回到底部。蝙蝠往上移动的时候,我们然大小逐渐变大,然后回到原点的时候,重新设置为开始时的大小。

https://cdn.china-scratch.com/timg/180814/12353aW4-7.jpg

我们是使用浏览器,在MIT网站上直接使用Scratch的,最后我们将项目保存在MIT网站中,同时保存一份到本地计算机桌面上。

孩子们纷纷独立完成了巫师的飞行,还没完哦,后来孩子们纷纷提出,要自己设计游戏!小yo说要设计一个能发射炮弹的游戏,哈哈,肯定是上次用scratch玩太空大战上瘾了,孩子打算下次上课来,就把自己设计好的游戏给大家展示,很棒,这种爱钻研的精神,很阿童木哦!

https://cdn.china-scratch.com/timg/180814/12353a563-8.gif

https://cdn.china-scratch.com/timg/180814/1235396049-2.jpg

总结:  

       1、添加舞台背景;

2、添加角色;

3、开始事件;

4、巫师外观设定;

5、运动,连续飞行;

6、控制。

希望孩子们能够继续坚持自主学习的好习惯。

https://cdn.china-scratch.com/timg/180814/1235392445-10.jpg

黑板上第一讲,写了一些重点。小孩表示能够理解,能够回到,如果要往右飞,X应该增大,还是减小,Y应该增大还是减小。

https://cdn.china-scratch.com/timg/180814/1235406325-11.jpg

Scratch编程环境。左上角是舞台,下面可以选择舞台背景图和角色。这里都直接使用图库中的图。右边是脚本和控件程序。

背景图库中的分类角色,有奇幻、动物、人物、物品、交通等,对小孩还是很有吸引力的。

 https://cdn.china-scratch.com/timg/180814/12354061U-12.jpg

https://cdn.china-scratch.com/timg/180814/1235403496-13.jpg

这是运算脚本,巫师飞行中,飞到右上角就返回到原点,所以这里使用了判断X>240。

https://cdn.china-scratch.com/timg/180814/1235403159-14.jpg

脚本中的分类还是很好的,通过颜色即可看到归入在哪一类中。不过小孩要先知道某个控件在某一类中,才能找到,例如判断在控制中,判断条件在运算中,大小变化在外观中,XY左边变换,转动在运动中。

https://cdn.china-scratch.com/timg/180814/1235403532-15.jpg

外观控件:

https://cdn.china-scratch.com/timg/180814/123540J00-16.jpg

鬼怪的的程序,从左到右,然后返回。

 家有五六岁以上的小孩,都可以试试这个Scratch编程,可以当做游戏玩。

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com