初级篇——海底世界

【疑惑篇】

点击绿旗按钮,让许多海底生物各自来回移动。

视频演示open in new window

亲自操作open in new window

想一想: 替换成其他自己喜欢的海底生物,让动画更丰富。

【线索篇】

案例分析

它们发生的场景是什么?

每个场景中有哪些角色?

每个场景中的每个角色在做什么?

小螃蟹

  1. 点击绿旗按钮后,在舞台下方某个范围内左右移动。

海蜇

  1. 点击绿旗后,在舞台中间某个范围内上下左右移动。

鲨鱼

  1. 点击绿旗后,在舞台上方左右来回移动。

小鱼

  1. 点击绿旗后,在整个舞台内上下左右来回移动。

积木提示

当绿旗被点击

移动(10)步

在(1)秒内滑行到x:(0) y:(0)

将旋转方式设为[左右翻转]

碰到边缘就反弹

重复执行

面向(90)方向

注意事项

  1. 角色初始方向将影响反弹后的方向。

【解决篇】

丰富的海底世界,各种不同的动物按照各自的规律在海底游动。不知道你第一眼看上去会不会感觉很复杂,下面我就带着你一点一点的来分析它。

第一步,还是新建一个项目,将需要的背景Underwater2添加进来。

第二步,添加角色。先把默认的小猫删掉,然后把用到的Fish、Jellyfish、Crab和Shark添加进来。

将它们添加到舞台以后,你会发现它们看上去都非常大,这时你可以修改角色属性大小值,将它们变小。大小默认为100,数字越小,角色也就越小。

第三步,使用指令积木来控制它们。

开始动手之前,你可以先观察一下它们各自的运动规律。有没有发现鲨鱼游动的规律和之前的案例小鱼游动一样,它会在舞台中间左右来回移动。现在你就可以先完成鲨鱼的动画。

如何让鲨鱼在整个舞台左右移动?在前面的案例中你已经学会了几种不同的实现方式。其中最简单的就是使用重复执行积木和移动(10)步积木,让它不停的向前移动。移动过程中再加上碰到边缘就反弹积木,让它碰到边缘后可以自动反弹回去。

这里需要注意的问题有2个。第一,反弹后鲨鱼不能上下颠倒,所以需要使用将旋转方式设为[左右翻转]积木将它的旋转模式设置为左右翻转。第二,两只鲨鱼的游动速度不一样,所以需要将移动(10)步积木的参数设置为不同的值。数字越大,移动的越快。

完成一只鲨鱼之后,有两个简单的方法可以帮助你快速完成第二只鲨鱼。

第一种方法,你可以将第一只鲨鱼的积木块整段拖动到第二只鲨鱼的头像位置,第二只鲨鱼就可以复制获得一模一样的积木块。接下来,你只需要修改一下移动积木的参数就可以。

第二种方法,你可以鼠标右键点击第一只鲨鱼的头像,这时头像旁边会出现一个菜单,单击菜单中的“复制”,角色列表中就会多出一个和它一模一样的鲨鱼角色。同样的,你只需要修改一下移动积木的参数就可以。

完成了鲨鱼,接下来你可以观察一下,哪种动物和鲨鱼的移动方式很像?

是不是小鱼。它和鲨鱼一样,也是在整个舞台内不停地左右来回移动。

它们又有什么区别呢?

鲨鱼是保持在一条直线上左右移动,而小鱼左右移动的同时,还会上下移动。这是怎么做到的?

其实很简单。不知道你有没有观察过一个球(足球、篮球、乒乓球)掉落到地面后,它是如何反弹回来的。

如果球是垂直(90度方向)落向地面,它就会垂直反弹回来,这就像是鲨鱼的游动。如果球是倾斜着(大于或小于90度方向)落向地面,它就会倾斜着反弹回去,这就像是小鱼的游动。

具体篮球反弹前和反弹后的方向值是如何变化的,就留给你作为扩展思考练习,我也会在以后做游戏时,详细的讲解它。

现在你知道了,只需要让小鱼的初始方向值不是90或-90,它就可以不停的一边左右移动,一边上下移动。

你可以利用前面的方法将鲨鱼的指令串复制给小鱼角色,在使用面向(90)方向积木修改它的初始方向值,可以随便设置,例如105。积木添加在哪个位置呢?是不是需要放在移动积木之前,先调整好方向,再移动。当然别忘了修改移动积木的参数,让小鱼各自的速度也不一样。

这样一来,鲨鱼和小鱼的动画就完成了。继续观察一下,剩下的螃蟹和海蜇,看上去螃蟹的移动简单很多,每个螃蟹都只会在舞台底部左右来回移动。如何完成它?

首先,你需要决定好每只螃蟹来回移动的范围。假设第一只螃蟹的会在舞台上这两个黄色圆点的位置来回移动,现在你是不是可以找到这两个圆点的坐标值。

接下来呢?只要利用重复执行积木和在(1)秒内滑行到x:(0) y:(0)积木就可以让它在这两个坐标之间来回移动了。

同样的,每个螃蟹的移动速度都不一样,需要如何修改?是不是通过修改它们各自的滑行时间就可以了。时间越长,速度越慢。

最后还剩下海蜇了,它的移动方式和螃蟹有什么区别?螃蟹是在左右两个点之间来回移动,海蜇是在一个更大的范围内移动。注意观察它的移动路径,是不是像一个四边形。

同样的,你只需要先确定好海蜇移动的四个顶点的坐标位置,再利用重复执行积木和在(1)秒内滑行到x:(0) y:(0)积木让它沿着四个点不停地滑行就可以了。滑行的速度同样还是通过时间参数来控制。

好了,一个看上去角色很多,感觉很复杂的动画,只要你仔细观察,分析每个角色的行为,就会发现它们各自移动的规律。最后,再根据它们不同的移动方式配合不同的移动积木来实现。

当你做完以后,还是可以尝试着更换不同的移动积木来实现它。或者替换一些自己喜欢的角色进来,让动画变的更丰富。

移动是所有动画和游戏的基础,让角色移动的关键,在于去思考如何控制角色的坐标变化。每个运动积木都有适合自己的使用情况,它们相互之间又可以彼此替换使用。也希望你能够通过前面这些案例打好基础,熟练掌握各个运动积木的使用。接下来的案例中,你就会开始接触到其他分类的指令。

想看更多学习案例,欢迎点击查看《Scratch 3学习手册》open in new window

想要获取所有案例源码和素材,以及获得我对你在学习中所遇问题的一对一解答,欢迎加入石头解忧杂货店

Last Updated:
Contributors: lanheixingkong