少儿编程ScratchJr教程(2)——摔跤比赛(解决篇)
如果你还没有看过少儿编程ScratchJr教程(2)——摔跤比赛(疑惑篇),请先看完疑惑篇后再来观看本篇文章。
在疑惑篇中,我们看见了本次需要解决的案件(制作“摔跤比赛”动画),分析了案件发生的过程(动画中3个问题分析),还发现了一些作案工具(积木块),接下来我们就尝试着模仿柯南,将案件完整的重现。
第一步,还原作案现场(动画场景)
与踢足球一样,点击舞台上方的更换背景图按钮,选中需要的背景图片。
第二步,请出各个嫌疑人(动画角色)
点击舞台左边的添加角色按钮,将另外两个角色添加进来,拖动角色,把他们放在各自的位置上。
第三步,还原作案过程(通过积木块,还原动画)
在开始做之前,请你先回想一下在疑惑篇中我们分析的作案过程(每个角色都在做什么?),以及找到的作案工具(积木块),看看如何利用作案工具来还原作案过程。
在添加角色的过程中,你会发现第一个需要解决的问题,红衣人的方向和动画中的初始方向是相反的。红衣人添加进来后默认朝向右边,而动画中红衣人初始状态是朝向左边。
怎么调整他的方向?有没有想到作案工具中的移动积木,它有两个作用,调整方向和移动角色。
把箭头图标向左的移动积木块拖入编程区,点击一下,角色就会改变自己的方向。注意别选错了嫌疑人。
现在初始工作准备完毕,开始来重现作案过程(制作动画)吧。
在这个动画中,3个角色都在做不同的事情,你现在有两种方式来还原整个过程。
第一种,根据发生的时间顺序,同时还原他们三个人所做的事。
例如,开始白衣人说了句“准备,开始”,蓝衣人和红衣人都没有动,你就可以使用声音积木让白衣人说话。
接着,白衣人说“加油”,蓝衣人和红衣人开始左右运动。你就需要使用声音积木让白衣人说话,使用移动积木让蓝衣人和红衣人左右移动。
最后,白衣人开始说“小红获胜”,蓝衣人倒在地上摇摆,红衣人跳跃庆祝。你就需要使用声音积木让白衣人说话,使用旋转积木让蓝衣人倒地摇摆,使用跳跃积木让红衣人跳跃。
整个制作过程,你都需要不断使用绿旗按钮运行程序,看看做出的效果是否和自己预想的一样,对有差异的地方进行调整。这也是编程最重要的技能之一,学会Debug。
第二种,先单独完成各个角色所做的事,再将它们合并起来运行调整。
我们就以第二种方式为例,一起来还原作案过程。先来看看白衣人,都做了什么。如果忘记了,可以返回疑惑篇重新看看演示动画和过程分析,要注意观察里面的每一个细节。
白衣人说了3句话,说“准备,开始”,说“加油”,说“小红获胜”。相信你马上就能想到使用声音积木来录制声音。这里会有一个问题,白衣人整个过程都是在说话,你是全部录制为一段声音,还是将它们分成几段声音分别录制?
答案是,两种选择都可以。如果你想只使用一个声音积木,只用在录音时把上面的话全部录制到一个积木中,再将它拖入编程区运行。

如果使用多个声音积木,只用在录音时把三句话分别录入不同的声音积木,再将它们拖入编程区拼接起来运行就可以了。

这两种选择各自有什么好处呢?
使用一个声音积木时,操作更简单。只用录一次声音,操作一个积木块。
使用多个声音积木时,操作更灵活。白衣人说的三句话,分别代表了摔跤比赛的三种状态,比赛开始前,比赛进行中,比赛结束后。如果除了让白衣人说话,你还想他在比赛过程中完成其他事情,只要在三个声音积木中间加入其他积木就能实现。
例如,如果你希望白衣人在比赛进行中除了说“加油”,还要左右移动来为它们打气,你可以在说“加油”的声音积木前后加入移动积木来实现。
除此之外,分成多个声音积木后,你对每一个积木需要执行的时间把控上会更容易掌握。这种好处在最后一步,将3个角色合并起来运行调整时就会体现。
实际制作过程,更推荐你使用多个声音积木。
白衣人完成了,接下来看看蓝衣人做了什么?它在红圈内来回移动,接着走出红圈摔倒在地,摇摆几次。
在红圈内来回移动,很明显需要使用移动积木,这里需要注意的是,它移动时面朝什么方向?可以发现他一直面朝右边,所以你需要使用箭头向右的移动积木。当积木下面填入正数,它就向右移动,当积木下面填入负数,它就会倒退着向左移动。
观察动画,它整个移动的过程是,向右移动(红圈内)——>向左移动(红圈内)——>向右移动(红圈内)——>向左移动(红圈外)。
将4个箭头向右的移动积木拖入编程区,每个积木完成一次移动,边测试边修改积木下面的数字,保证它们能正确完成上面的过程。
走出红圈后,蓝衣人会摔倒在地。如何让他摔倒?很简单,使用了旋转积木,让它逆时针旋转90度,身体和地面平行。还记不记得在疑惑篇介绍积木时说过,旋转积木的数字1表示旋转30度,现在需要选择90度,也就是填入数字3。如果你忘记了也没关系,只需要将旋转积木拖入编程区,填入不同的数字测试一下就可以了。
仔细观察,它旋转时脚会往上抬,就像身体飘在空中,所以在旋转以后你还可以让它往下移动,仿佛从空中摔倒在地上。
最后,它躺在地上来回摇摆了两次,仿佛因为疼痛在地上打滚。同样还是使用旋转积木,让它顺时针和逆时针来回转动。把所有积木按照执行的顺序全部拼接在一起,蓝衣人的作案过程就还原完了。
最后还剩下红衣人。它和蓝衣人很类似,开始也是在圈内移动,当把蓝衣人推出红圈后,他获得了胜利,于是跳跃几次进行庆祝。
同样观察动画,看看它整个移动的过程是什么样?
向左移动——>向右移动——>向左移动——>向右移动——>向左移动。
和蓝衣人不同的是,它一直面向左边移动,没有离开红圈。使用5个箭头向左的移动积木,填入不同的数字,让它像上面分析那样来回移动。
最后,当蓝衣人摔出红圈,他跳跃了2次庆祝胜利。还记不记得跳跃积木,下面的数字代表跳跃的高度。这里红衣人跳跃了2次,就需要使用2个跳跃积木。
三个角色全部做完,接下来就需要将它们合并起来,同时运行测试。这时候,绿旗积木就开始发挥作用了。每个角色的最前面都通过绿旗积木启动程序,当点击舞台上面的绿旗按钮时,3个角色的程序就会同时开始执行。

点击绿旗按钮,立马你就会发现问题。白衣人还没说完“准备,开始”,蓝衣人和红衣人就先动了起来。这就像是你在通过推理还原作案过程中,将嫌疑人的作案时间弄错了。如何处理?有没有想到作案工具中的等待积木。
蓝衣人和红衣人都需要使用等待积木,等待白衣人说完“开始”以后才开始移动,具体需要等待多少时间呢?这需要你自己在等待积木中填入不同的数字进行测试。
除此之外,演示视频中蓝衣人和红衣人左右移动时,停止的时间也不一样,看上去不太和谐。可以把移动积木的数字简单进行调整,让它们看上去更像是在互相推搡。
你在自己制作时,可能还会出现加油声和移动不同步的情况。这时你可以根据移动时长重新录制加油声,这就是上面所说的,使用三个声音积木的好处,只用修改第二个声音积木,时长更容易控制。
当然你还可以反过来,根据加油声的时长,调整移动积木的距离,只要能保证3个角色各自所做的事情可以和谐同步的运行就没问题了。
以上,我们就重现了整个作案过程,完成了摔跤比赛小游戏,案件顺利解决。
在上面还原作案过程中,我划分了两种方式,按时间顺序还原和按角色还原。这里的时间顺序也对应着动画的不同状态(比赛前——>比赛中——>比赛后)。实际的制作过程中,你不需要将两种方式完全隔离开,更多时候是相互配合使用。
例如,你需要制作的是一个复杂的动画,你可以根据时间顺序或者状态,将动画划分成不同的阶段。在每个阶段里,又按角色制作各自的操作,接着合并在一起测试修改。一个阶段完成后,继续按相同步骤完成下一个阶段,直到完成整个动画。
好了,剩下的就需要你自己动手来练习。完成演示中的效果后,你还可以发挥想象力,加入自己构思的角色和情节,让动画变得更有趣。
同样的,如果你在学习过程中遇到问题无法解决,你可以扫码关注我的微信公众号“梦世界”给我留言,我会对你的提问一一进行解答。或者你有什么好的想法,也欢迎在公众号中给我留言,帮助我对教程进行持续改进。
Talk is cheap. Show me the code...
写之前自己都没有想到,整个解决的过程会和破案过程这么相似,很自然地就能把制作动画的步骤,套入到推理案件的过程中。转念一想,相似也是正常的。因为它们都是故事,都离不开故事中的几个关键元素,场景、角色和时间。区别只是推荐案件和摔跤比赛中,角色所做的事情不同而已。
如果你看完以上内容,对少儿编程感兴趣,有初中以下想学习编程或者数学思维课的小朋友,欢迎联系。如果你有Web应用系统、手机APP、微信小程序等软件开发需求,也欢迎与我联系。期待能与你共同进步。。。
0条留言