少儿编程ScratchJr教程(6)——灌篮高手(疑惑篇)

「或許,青春本來就是不完美的吧」,这是井上雄彦在《灌篮高手》完结以后,对湘北队最终没能称霸全国所做的解释。相信和我一个年龄段的人,很少有不喜欢《灌篮高手》的,天才樱木,王牌流川,三分男三井,电光火石宫城,大猩猩赤木,每个人单独放大看都有各自的缺点,可是当半佛安西教练将他们组合在一起时,他们就变成了最强的球队。


上个月,在看完发条张做的灌篮剧TOP后,没忍住就买了一套《灌篮高手》的漫画作为收藏(冲动消费啊)。估计对很多人来说,什么时候能看见全国大赛的动画版,也是有生之年的十大愿望之一了。


这一节课,我们就利用ScratchJr制作一个自己的灌篮高手。老规矩,先来看看做好的动画效果。



过程很简单,一个小蓝人运球上篮,从罚球线起跳,完成了一次大灌篮。同样的,还是请你自己思考一下动画中的3个问题,这个动画的场景发生在哪里?里面有哪些角色?每个角色都在做什么?看看自己能不能完成它。


在继续往下看之前,记得一定要先自己动手做一做。




这个动画的场景发生在哪里?


这个动画发生在一个体育场馆中。



里面有哪些角色?


里面有两个角色,小蓝人篮球



每个角色都在做什么?


小蓝人

1、一边说“灌篮”,一边运球移动到罚球线

2、从罚球线起跳,飞向篮筐

3、从空中落回地面


篮球

1、上下运动,跟随小蓝人移动到罚球线

2、跟随小蓝人从罚球线飞入篮筐

3、快速落回地面


好了,这个动画看上去很简单,但是里面用到了2个编程中很重要的知识点,接下来我就来给你介绍它们。


并行事件


不知道你有没有做出来少儿编程ScratchJr教程(4)——大魔术师(解决篇)中,我在最后留给你的那个问题。最后一步魔术师谢谢观众,如果你想用猴子来录制声音,还要保证声音和猴子离开舞台同时进行,要如何实现?


我在前面的课程介绍事件积木时说过,事件积木是程序的启动器,你可以像按遥控器一样触碰某个事件,对应的事件积木就会开始执行。例如,按了舞台上面的绿旗按钮,绿旗积木会开始执行。使用发送消息积木时,相同颜色的接收消息积木会开始执行。两个角色互相碰撞时,碰撞积木会开始执行。


如果你留意观察的话还会发现,每个遥控器控制的事件积木不止一个,而是所有角色使用的事件积木。点击绿旗按钮时,所有角色使用的绿旗积木会同时执行。发送消失时,所有角色使用的相同颜色的接收消息积木会同时执行。角色碰撞时,发送碰撞的所有角色使用的碰撞积木也会同时执行。


少儿编程ScratchJr教程(1)——踢足球中我给你介绍了指令运行的第一个重要知识点,指令会按照顺序连续执行。上面所说的这些,就是指令运行的第二个重要知识点,多个指令串可以通过事件积木同时启动执行。


并行事件不单发生在不同角色间,也可以让一个角色同时做多件事。回到《大魔术师》中的问题,现在我们的目标是希望猴子一边使用声音积木说话,一边离开舞台。如果我们把声音积木加在移动积木的前面或者后面,这时就只使用了一个指令串,猴子就只能做一件事。声音积木在前,猴子会先说话再离开舞台,声音积木在后,猴子会先离开舞台再说话。



为了让猴子能够同时做两件事情,我们需要将猴子说话和猴子离开舞台分成两个指令串,再让它们通过相同的事件积木同时运行。实现的方法很简单,现在猴子使用了蓝色接收消息积木来启动指令,让猴子离开舞台。只需要再增加一个蓝色接收消息积木,在它的后面拼接上声音积木。当魔术师发送蓝色消息时,这两个积木就会同时被启动,猴子也就会同时完成两件事情。



除了消息积木,其他的事件积木也可以启动并行事件。例如,你可以用一个绿旗积木让角色发出声音,再用另外一个绿旗积木让角色通过文字说话。当你点击绿旗按钮时,你就会听见角色发出声音,同时还能看见角色说话的内容。




循环积木


现在我想要你实现一个功能,让一个角色在舞台中间左右来回移动5次,你会怎么做?是不是很简单,只需要使用5个向左移动积木和5个向右移动积木,设置好它们移动的步数,相互交叉拼接在一起就可以了。为了让他跑快点,还可以加上上节课学过的速度积木,让他快速移动。



好了,那我再给你加点难度,我想让小人左右来回移动50次,你能不能做出来。我相信你一定可以做出来,但是做的过程肯定是崩溃的。


有没有什么方法可以很轻松的就实现这个功能?接下来我要跟你介绍的就是指令运行的第三个重要的知识点,令重复执行。


在控制分类中,有一个大肚子的积木块,叫做循环积木,用来重复执行一些相同的积木块。注意观察它中间空着的部分像是一个积木块的形状,在这里可以放入其他的积木块,当程序执行到循环积木时,就会运行它肚子里面这些积木块。在循环积木的右边有一个数字,它表示循环的次数,也就是重复执行肚子里面积木块的次数。例如它默认是4,这时它肚子里面的程序就会重复执行4遍。



回到上面来回移动的功能,仔细观察上面用到的积木块,你会发现让角色来回移动的积木块其实是有规律的。当使用一个向右移动积木和一个向左移动积木时,角色会在舞台上来回移动一次。后面的积木都是在重复第一次的过程,使用的积木块一模一样,总共重复执行了5次。



现在循环积木就派上用场了,刚刚说过循环积木是用来重复执行一些相同的积木块,在这里相同的积木块就是向右移动积木和向左移动积木,现在将它们两个放入循环积木中。接着,需要设置它重复的次数,刚刚角色重复执行了5次,就将循环积木的数字改为5。



运行一下,角色会和之前一样,在舞台中左右来回移动5次。如果想来回50次呢?很简单,只需要将循环积木右下角的数字改为50就可以了。




有没有瞬间感觉世界清爽了很多。除了移动积木,循环积木中还可以放入其他积木块,包括循环积木自己。


循环积木是所有编程语言中最常用的指令之一。在开发的过程中,你需要时常观察自己使用的积木块,发现有的积木块需要重复执行时,就可以将它们放入循环积木中,从而简化你的程序。


接下来又该你自己动手了,看看自己能不能完成灌篮高手的动画。完成以后,可以在文章下面留言你所用的时间,看看自己是不是最快做出来的。


如何利用上面分析的结果,制作出灌篮高手的动画,请继续关注后续教程《少儿编程ScratchJr教程(6)——灌篮高手(解决篇)》


如果你在学习过程中遇到问题无法解决,你可以扫码关注我的微信公众号“梦世界”给我留言,我会对你的提问一一进行解答。或者你有什么好的想法,也欢迎在公众号中给我留言,帮助我对教程进行持续改进。



Talk is cheap. Show me the code...

0条留言

留言