Scratch打蝙蝠的技巧

2019年10月11日 15:48:22

都说未来是人工智能、计算机程式控制的时代,如何让青少年接触计算机编程思想和技能,已经成为国家人才发展的重要战略之一。  


Scratch是由美国麻省理工学院MIT设计开发的图形化少儿编程工具。通过图形控件,小孩可以在不编写任何代码的情况下实现很多程序功能。从初步体验来看,五六岁以上的小孩即可上手。Scratch使用了舞台、角色概念,内置的人物、动物、玩具等对小孩还是很有吸引力的。

小孩可以当做游戏来玩,在小孩还不能独立完成程序人物的情况下,家长或老师可以指导小孩完成程序设计,做一个小动画,实现各种变化,通常来说,小孩的兴致还是很高的。学员无需下载scratch软件,可以直接在MIT网站上使用scratch.mit.edu。


可以存为本地文件,在本地scratch软件中修改,也可以直接保存到MIT网上。我下载了一个2.0中文版的Scratch,控件的字体似乎不对,后来还是直接使用MIT网上的Scratch环境,这个网站支持中文,网页最下方可以选择语言-中文。 


2019年,新年第一天上午,和六岁的小孩一起动手,完成了《雪地大战》,初步认识了Scratch的强大。虽然今天的练习还不能独立完成,但已经初步培养的编程的兴趣,所有的操作都是在家长指导下由小孩自己完成的,因为小孩把这个当做一个游戏来做。  


首先介绍了这个软件能够做什么。然后直接在软件图库中选择了舞台背景,看了一遍系统提供的舞台背景以后,小孩选择了雪地雪山背景。有了背景以后,就可以添加角色。默认的角色是一个小猫咪,先把这个小猫咪删掉。因此需要了解鼠标的左右键,点击右键,能够将选中的角色删除。系统提供了动物、奇幻、字母、热恩无、物品、交通等角色分类。小孩看到这些角色图库,着实兴奋了一把,都像把他们放进来。  


我们确定今天的主题是让某个角色飞起来。所以最后是选择了巫师,因为之前看过哈利波特的电影。计划是让巫师从舞台左下角飞到舞台右上角,达到右上角以后,回到左下角原点。后来有添加了螃蟹、蝙蝠、鬼怪。打算巫师是对角飞,螃蟹是在下方左右翻滚移动,鬼怪在中间左右平飞,蝙蝠在舞台中间自下而上飞,同时蝙蝠会逐渐变大。  先完成巫师的对角飞行。


介绍舞台的X方向和Y反向。舞台的正中央是零点。如果要想让某个角色从左到右移动,那么横向的X是增加还是减少?答案是X++,比如一次加1或者一次加4,加的越多,就飞得越快。然后巫师还需要往上飞,因此Y方向要向上移动,即Y++。如果要往左飞,则X–,往下飞则Y–。


舞台最右边是X=240,最左边是X=-240。舞台最上面是Y=180, 最下面是Y=-180。负数就是比零还小的数字。  有了这个认识以后,我们进入脚本区域。介绍第一个分类是“事件”。在事件中,我们添加了“当小绿旗子被点击”,就是开始按钮,然后执行一些操作。 


1)因为默认的巫师图片比较大,所以每次开始时,我们都先设定巫师的大小为60。这样怎么操作?进入“外观”,里面有一个控件“将角色大小设定为XX”,XX空格中可以录入数字。将这个控件拉过来,把开始小旗子磁贴粘贴在一起。这和乐高的WEDO类似。就是几个控件依次放在一起。 


 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,这样就实现了不停来回的移动。 


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


我们是使用浏览器,在MIT网站上直接使用Scratch的,最后我们将项目保存在MIT网站中,同时保存一份到本地计算机桌面上。  小孩说要设计一个能发射炮弹的游戏。那我们下次,打算让一个飞机从左往右飞,然后飞行过程中能够向下扔炸弹。


飞机是一个角色,炸弹是一个角色,关键是计算位置,要实现炸弹是从飞机上扔下来的。  要继续学习,就得好好吃饭,先做好作业。果然,有了这个期待,今天的娃还是很听话的。  


总结今天学习的内容: 


1.    舞台:会自己添加舞台背景了。  

2.    角色:会自己添加角色了。  

3.    事件:开始 

 4.    外观  a.    将角色大小设定为60  b.    将角色大小增加2

 5.    运动  a.    将X坐标增加4  b.    将Y坐标增加3  c.     右转4度  d.    X坐标:读取X坐标的值  e.    移动到X=-240, Y=-180:回到左下角。 

6.    控制  a.    重复执行:无限制,永远重复  b.    重复执行140次:每次X+2  c.     如果??那么??:如果X>240,就回到原位。  


对于这些分类,第一次还是记不住的,后面希望每周花半天时间,通过练习,记忆,能够自行完成这些作业。其他时间,可以讲解各种设计、控件和基础知识。

在线咨询

联系客服