少儿编程Scratch3.0教程——06 控制积木(项目练习)(文字版)


在上节课少儿编程Scratch3.0教程——06控制指令(基础知识)中,我们学习了控制积木的基础知识,这节课我们就来利用它们完成一个小游戏,打蝙蝠。


老规矩,我们先来看看做好的效果是什么样。



在这个游戏中,当你点击绿旗开始游戏,会进入blue sky背景,并且播放背景音乐。此时,舞台的左边有一个棒球手,右边有一只蝙蝠。你可以通过鼠标上下移动棒球手,当用鼠标点击棒球手时,他会挥动球杆,击打出一个棒球向右边飞去,当棒球碰到舞台边缘就会消失。蝙蝠会在右侧自由的上下移动,当它被棒球击中后,会发出被击中的声音并且消失1秒钟,之后又重新出现。当蝙蝠被棒球击中三次之后,会自动切换到Party背景。此时,在舞台中间有3个英文字母WIN在变换造型,并且伴有欢呼声,舞台的右下方有一个重新开始的按钮,当点击按钮时,回到Blue Sky背景中重新开始游戏。

看上去会不会感觉有点复杂,接下来我们就一起来分析这个游戏需要怎么做。


首先,还是先需要你来回答下面的几个问题。

1、这个项目有几种背景?分别是什么?

2、每种背景有几个角色?分别是什么?

3、每种角色都做了什么?


和之前一样,你先暂停一下,自己试着回答它们,最好还可以用纸笔将它们写下来,之后再来看看和我做的是否一样。


1、这个项目有几种背景?分别是什么?


这个动画有2种背景,Blue Sky和Party


Blue Sky

Party


2、每种背景有几个角色?分别是什么?


在Blue Sky的背景上面有3个角色,分别是棒球手、棒球和蝙蝠



在Party的背景上面有4个角色,分别是3个英文字母和1个重新开始按钮



3、每种角色都做了什么?


舞台

1、点击绿旗,切换为Blue Sky背景。

2、当背景切换成Blue Sky时,循环播放背景音乐。

3、当背景切换成Party时,播放欢呼声。


背景一:Blue Sky


角色:棒球手

1、显示棒球手,让它跟随鼠标上下移动。

2、点击棒球手,做出打球效果,发出打球音效。


角色:蝙蝠

1、显示蝙蝠,让它自由上下移动。

2、当蝙蝠被棒球击中时,隐藏蝙蝠,等待1秒后重新显示。

3、当蝙蝠3次被棒球击中时,切换为Party背景。


角色:棒球

1、隐藏棒球。

2、点击棒球手后,显示棒球并向舞台右侧飞去。

3、碰到舞台边缘时,棒球消失。

4、碰到蝙蝠时,棒球消失。


角色:3个英文字母和重新开始按钮

1、隐藏角色


背景二:Party


角色:3个英文字母

1、显示3个英文字母。

2、字母重复变大变小,改变颜色。


角色:重新开始按钮

1、显示按钮。

2、点击按钮,切换到Blue Sky背景。


角色:棒球手、棒球和蝙蝠

1、隐藏角色


积木说明


开始做之前,照例还是先来给你介绍几个在这个游戏中会用到,但是还没有学习过的积木。



第一个积木是侦测分类中的碰到...积木,实际上我们在上节课说明条件积木时就用到过它。这个积木是用来侦测当前的角色有没有碰到某样东西,可以选择鼠标指针、舞台边缘和其他的某个角色。当碰到时,就会返回true,当没有碰到时,就会返回false。如果在条件积木中放入它,true就表示满足条件,false就表示不满足条件。


第二个积木是运算分类中的在...和...之间取随机数积木,它可以在两个输入框中填入两个数字,然后就会随机返回这两个数字之间的某一个数。例如,当填入的两个数字是1和10时,它会随机返回1到10中的某一个数字,有时返回1,有时返回6,有时返回10等等。


接下来,我们就开始来完成这个游戏。


第一步,添加背景


照例,你需要新建一个项目,将需要的背景添加进去。先从Scratch的背景库中选择Blue Sky和Party,然后将默认的白色背景删去。



第二步,添加角色


添加完背景,接着就把用到的几个角色都加进来,调整它们的大小和位置等初始状态。



需要注意的是,按钮角色默认上面是没有文字的,所以你需要在造型菜单中,选中文本工具,手动输入“重新开始”这几个文字。



第三步,增加角色的动作


舞台


1、点击绿旗,切换为Blue Sky背景。

2、当背景切换成Blue Sky时,循环播放背景音乐。

3、当背景切换成Party时,播放欢呼声。


首先,你需要选中舞台给它添加好需要的背景音乐和欢呼声,我使用的背景音乐是《Dance Snare Beat》,欢呼声是《Goal Cheer》。



接着,你就可以使用之前学过的内容,完成上面三个步骤,赶紧自己动手试一试。需要注意的是,当切换背景时,记得把上一个背景的音乐停止掉。



背景一:Blue Sky


角色:棒球手

1、显示棒球手,让它跟随鼠标上下移动。


这一步,先使用当背景换成Blue Sky事件,接着显示棒球手,然后需要考虑如何让棒球手跟随鼠标上下移动。你可以使用运动积木中的移到鼠标指针让棒球手跟随鼠标移动,接着使用将x坐标设为某个值,将水平方向固定,这样就可以让角色只能上下移动。最后,别忘了使用重复执行积木让它可以一直移动。



2、点击棒球手,做出打球效果,发出打球音效。


这一步,使用当角色被点击事件,你可以观察到角色有4个造型,只需要像之前的游戏一样切换它们就可以做出打球的动画效果,动画效果后再加上打球的音效,我使用的是Scratch声音库中的《Low Whoosh》。



角色:蝙蝠

1、显示蝙蝠,让它自由上下移动。


这一步和棒球手类似,不过蝙蝠不是跟着鼠标移动,而是需要它自己动。同样还是当背景换成Blue Sky事件,然后你可以使用动作积木中的在1秒内滑行到某个位置积木,然后同样固定住它的x坐标,这样它就不能左右移动。


接着,你需要考虑如果让它自由上下移动?


这时,你可以使用运算分类中的在...和...之间取随机数积木,在输入框中填入舞台顶部和底部的y坐标,例如170至-170,这样该积木就会每次随机返回不同的y坐标值,蝙蝠就能移动到不同的位置。同样别忘记使用重复执行积木让它一直不停的移动。



2、当蝙蝠被棒球击中时,隐藏蝙蝠,等待1秒后重新显示。


这一步的关键,你需要判断蝙蝠什么时候被棒球击中,这时你就可以使用侦测分类中的碰到...积木来进行判断,积木中选择棒球角色的名字“Baseball”。


同样还是使用一个当背景换成Blue Sky事件,先显示蝙蝠,然后使用控制分类中的等待...积木,将刚刚说的碰到...积木放入菱形框中。当程序执行到这个积木块时会停止往下执行,直到蝙蝠碰到棒球为止。


接着,蝙蝠碰到棒球以后隐藏起来,再播放被击中的音效,我使用的声音是《Suction Cup》。并且,为了让蝙蝠不立即又出现,可以加上一个等待1秒积木,让它有一个缓冲的时间。



3、当蝙蝠3次被棒球击中时,切换为Party背景。


这一步,你需要考虑如何判断蝙蝠被击中了3次?在上一步的,我们完成了蝙蝠被击中后的效果,如果把它算作一次的话,你只需要在外面加上重复执行3次积木就可以了。


3次执行完之后,再使用切换背景积木将背景切换为Party。



角色:棒球

1、隐藏棒球。


这一步,相信你一定可以完成它。你可以使用当背景切换成Blue Sky事件后,接着将棒球隐藏起来。



或者还可以直接将棒球的初始状态变成隐藏状态。



2、点击棒球手后,显示棒球并向舞台右侧飞去。


这一步,你首先需要考虑,棒球怎么样才能知道棒球手是否被点击?和之前的游戏一样,你只需要在棒球手被点击时,发一个广播消息通知棒球就可以了。


所以,你需要先在棒球手被点击时,使用广播击球消息积木发送消息。



然后,让棒球角色使用当接收到击球消息事件作为开始事件,将它显示出来飞向舞台右侧。


这里会有两个问题需要解决。


第一,棒球出现的位置应该和棒球手的位置一致,不能棒球手移动在舞台上方后,棒球却从舞台下面显示出来。


第二,如果直接给棒球角色使用显示和移动积木,这样舞台上永远只有一个球,并且它只能穿过舞台一次,或者还未穿过舞台就消失重来。


如何解决这两个问题,你可以自己先思考一下。


第一个问题比较容易解决,你只需要使用动作分类中的移到...积木,选择棒球手角色的名字“Batter”就可以了。


而要解决第二个问题,就需要用到控制分类的克隆积木块。


每个被击打出去的小球都是一个棒球的克隆体,因此当接收到击球消息事件时,就可以让棒球克隆自己。接着,在使用当作为克隆体启动时事件,再将克隆体显示,移到棒球手的位置,然后循环使用移动积木让它飞向舞台右侧。这样,棒球手每次被点击时,都会有一个新的棒球出现往舞台右侧飞去。



3、碰到舞台边缘时,棒球消失。


如何知道棒球是否碰到舞台边缘?这里就可以使用上节课中介绍过的条件积木块,如果...那么...积木,条件使用侦测分类中的碰到...积木,选择舞台边缘,最后使用删除此克隆体积木让它消失。



4、碰到蝙蝠时,棒球消失。


这一步,让蝙蝠角色被棒球击中时,在播放音效的后面发出一条广播消息。




然后,当棒球接收到该消息后,使用删除此克隆体积木就可以完成。



角色:3个英文字母和重新开始按钮

1、隐藏角色


这一步不用多说,使用当背景换成Blue Sky事件后,将它们隐藏起来。



背景二:Party


角色:3个英文字母

1、显示3个英文字母。


这一步和隐藏一样,只是换一个背景名称和显示积木。



2、字母重复变大变小,改变颜色。


这一步使用重复执行积木、改变大小和颜色特效就可以实现。需要考虑的是,如果只用一个重复执行积木变化的效果不理想的话,可以考虑将多个重复执行积木嵌套使用。



角色:重新开始按钮

1、显示按钮。

2、点击按钮,切换到Blue Sky背景。


这两步也很简单,当换成Party背景时,显示按钮角色。然后当点击它时,切换成Blue Sky背景。



角色:棒球手、棒球和蝙蝠

1、隐藏角色


最后这一步我就不再讲解,交给你自己来实现,这样整个游戏也就完成了。你在完成上面的效果之后,还可以自己思考一下,如何来控制游戏的难度,或者如何改变游戏的玩法,改变棒球和蝙蝠的移动速度和大小,或者多增加几只蝙蝠,然后试着自己实现它。


同样的,还是那句话。只有自己多动手练习才是学习编程的最快捷径。我之后会录制一个视频教程供你参考,如果你在学习过程中遇到问题无法解决,可以扫码关注我的微信公众号“梦世界”给我留言,我会对你的提问一一进行解答。


Talk is cheap. Show me the code...




如果你看完以上内容,对少儿编程感兴趣,有想学习编程或者数学思维课的小朋友,欢迎给我留言。如果你有Web应用系统、手机APP、微信小程序等软件开发的需求,也欢迎给我留言与我联系。期待能与你共同进步。。。

0条留言

留言