上周末的Scratch初次尝试给小孩留下了深刻的印象。我们还是约定,如果这周好好表现,则周末可以做一个发射炮弹之类的小游戏。有了这个动力,小孩也就“乖”多了。早上起来,饭后玩了一会积木,然后我带着学习识拼音写汉字。完成了已经打印好的两页,几十个字还是有的。然后复习数学,把数学书上的一些练习做好。两个小时很快就过去了。中午吃过饭以后,小孩没有还没有午睡的习惯,那就开始Scratch。
今天的练习还是比较复杂的,所以依然不能独自完成这些任务。估计二三年级的学生能够独立完成。这次程序的主要目的是,通过手把手的脚本制作,实现一个简单的游戏,激发小孩对这个工具的兴趣。
Scratch系列:
Scratch第一讲:Scratch完美的初体验
目的
目的:找一个球、水果或物品,从屏幕顶部位置按照随机的方向落下;屏幕下方设置一块板,板可以跟随鼠标左右移动;如果球落下时碰到板,球即往上按照随机的角度反弹;球触碰到边框以后,折返,继续落下;玩家继续移动鼠标接球。如果没有接住,球则掉入下面的火坑,游戏结束。
https://scratch.mit.edu/projects/196363356/ 最终效果可以参考这个网址。
实现方式
根据上次学习的技能,添加了一个球的角色,但后来并没有选择球,而是选择了橙子,然后选择一个按钮板,后选择了一根红线,球碰到红线游戏即结束。后来我在网上找了一个熊熊烈火的图,在红线下方加了烈火图。意思是球碰到红线了,掉入火坑中烧掉了,游戏结束了。
第一步:红线和烈火是固定的,最为简单,什么脚本都不需要。
第二步:设置角色按钮板的程序脚本:
1. 设置开始事件
2. 直接进入无限制循环
3. “移动”到“鼠标”,这一个控件即可实现角色跟随鼠标移动;
4. 设置按钮板的Y轴固定位-95,即实现只能左右移动,不能上下移动
5. 运行测试。鼠标左右移动,按钮板也跟着左右移动
“移动到”是一个很重要的动作,可以移动到随机位置,即打地鼠一样随机出现,也可以跟随鼠标移动,还可以移动到其他角色的位置上。
第三步:设置角色橘子的脚本,这是最复杂的部分。当然可以先从简单开始,逐步加入复杂一些的功能。
1. 设置开始事件
2. 位置设置为舞台上放,所以选择了“移动到X:随机数,Y:180”,横轴选择从-240到240随机选择一个数。
3. “面向XXX方向”:橘子开始运动前,需要确定运行的方向,可以在一定范围内让系统随机选择一个方向。XXX这里可以让系统随机选择一个某范围内的数字。
因此,我们使用了运算中的“在XX到XXX中随机选择一个数”,我们设置了135到255。
初始化就做好了,下面开始循环往前移动。
4. 然后进入无限制循环
5. 首先我们需要让橘子往前走,因此需要使用“移动5步”。通过修改每次移动的步数,可以实现橘子移动的速度,增加游戏的难度。经过测试,速度为10比较合适,速度为15-20,难度就大一些了。
6. 移动之前,我们就可以判断是否碰到了按钮板角色。因此我们需要增加一个“如果…那么…”的判断。 如果“碰到XX”,那么,就改变方向,这时候方向要朝上,所以选择在-65到65度角度上随机选择一个方向;然后继续往前移动。
7. 球在往上运动时,会碰到舞台边缘,执行“碰到边缘就反弹”的动作。
8. 如果不接住橘子,橘子将继续往下,直到碰到红线角色,游戏停止。所以这里需要增加一个判断,如果“碰到红线角色”,则说话“没接住,游戏结束啦!!”,这个提示话语停留1秒钟。
9. 移动50步,这样橘子,就从掉入下方火焰中了。
增加声音
后来我们增加了声音:
1. 在橘子碰到按钮板的时候,播放声音POP;
2. 在碰到红线游戏结束时,播放咚咚咚,可以选择演奏的乐器-钢琴、小提琴、鼓等,然后弹奏何类鼓声,持续多少节拍,中间可以添加几节拍的休止符,实现咚、咚、咚的效果。
后来我们增加了沙漠的背景图
后续改进
1. 增加计分器,没接住一次球,就增加1分,这样可以进行比赛了;
2. 设置游戏难易程度:大人、中学生、小学生、幼儿园小朋友(高中低),选择高中低以后,设置橘子移动的速度。
完整的图。
演示地址:
https://scratch.mit.edu/projects/196363356/
总结:
这些学习了不少内容:
“移动到-鼠标、或者某个角色”上
随机产生某个范围内的数字;
设定角色运动的方向;
碰到边缘就反弹
播放声音POP
设置演奏器材为XXX