scratch编程-小猫接球
scratch编程-小猫接球
一、学习目标
1、复习坐标随机的范围;
2、学习指定坐标随机环境设置;
3、学习角色触碰反应设置;
4、学习坐标边界值判断。
二、项目分析
小猫在舞台的底部,可一个跟着鼠标左右移动,上下不能移动;
小球在舞台的顶部随机位置出现(高度一致),按照一个随机方向,向下移动;当碰到边缘时,可以反弹移动;
碰到小猫时能够反向向上移动;
当小球碰到舞台底部的时候游戏结束停止。
三、项目实践
1、添加角色与背景
保留小猫角色;添加Beachball与背景Blue Sky。
2、初始化设置
将小猫移动到舞台底部,球在舞台顶部,完成角色的初始化。
3、猫的角色行为
在这里,小猫咪可以跟随我们说标左右移动即可,也就是移到鼠标位置;
但是在这里如果执行的话会发现,小猫会跟随鼠标在整个舞台上移动,并不是左右移动;
那我们应该如何控制小猫只能左右移动呢?
其实在这里,我们移动的过程只是想让小猫能搞在一个高度上固定,
那根据我们学过的坐标,也就是说让y的坐标固定下来,让x坐标变动起来。
那我们这里就可以使用程序,让y坐标固定,但是这里的x坐标是变动的,跟着鼠标变动的;
在scratch中我们可以通过下面两个程序,来感知鼠标在舞台上的x坐标,y坐标。
那我们就让角色小猫的x坐标,跟随鼠标的x坐标。
这个时候就可以实现水平移动,高度不变了。
这里还可以单独设置x与y的值;
这样也可以实现同样的效果,但是为了让程序更简便,我们能使用一个程序完成的还是用一个程序完成,
因为这个过程每次程序要走两步,而这个过程程序走了一步。
4、球的运动行为
首先球应该从舞台的顶部随机位置出现;
那如何实现在舞台顶部随机位置?
我们知道角色在舞台上是有坐标的,前面小猫的程序中我们让小猫完成了在一定高度上移动;只用把y坐标固定即可,前面我们让角色在舞台上随机位置出现使用到了随机数,所以在这里我们也可以单独的让x取随机数,让y固定值。
这个时候我们每次执行,小球都可以在舞台顶部的随机位置出现。
接下来我们就开让小球下落。下落当然是y坐标在变所以我们可以使用。
但是在这个过程中同学们有没有发现,小球只能竖直下落,并不是我们想象的可以向哪里落下。
球在下落的时候是按照不同的方向去变动的,那这里我们就需要改变球的方向。
前面我们学过让球改变方向范围是0-360,那这里我们还要这么写吗。
这里要想一个问题,就是当我们取到0 的时候方向是向上的,球是可能向上的,只能向下移动,
所以这里要区分,方向的范规律:
注意:想让角色向下的随机方向不能写成-90~90的范围,因为这中间取得值(如:-60,-30,0,60等)都是指向上的,下的范围,可以使用-90的正数表示270 ,90~270,便表示的是向下的。
所以在这里我们需要向下,就把方向随机设定在90~270之间。
但是在这里方向虽然改了,角色还是在竖直的下落,为什么?
这里要区分坐标的移动与角色的移动之间的区别。
与
其实在调座位时或者下棋时,也可以发现,物体的移动都是按着一条线去移动的与面向的方向是没有关系的,如:
所以这里就要区分坐标的移动与移动10步最大的区别,就是方向。这也是我们判断应该使用什么程序让角色动起来的关键。
所以在这里我们是需要方向的,那就应该使用
这时会发现,如果球碰到舞台边缘时,会沿着边缘下落移动,
这时候我们需要当碰到舞台边缘是,让他再反弹回去,
这时小球便可以在舞台上来回移动,但是会发现,碰到我们小猫并没有任何反应,这时因为,我们没有对球进行碰触侦测行为程序,
接下来我们要判断碰到小猫;
这里注意由于角色名称不一样,出现的名字选项也不一样,根据自己设置的即可。
那接下来碰触到后应该做什么行为呢?
球应该是向上移动的,那如何完成能?还是使用吗?
当然不行,我们分析一下,在我们行走的过程中,我们碰到了然应该怎么办,当然是改变一个方向继续走了,
所以这里我们需要改变角色的运动方向,这里应该是向上移动的所以范围是-90~90
但是要注意,在改变方向时,我们尽量不要写太满,以免出现平行移动情况,例如出现90,-90这样转来转去还是横向移动,所以我们需要把方向的值缩小。
好了,一个基础的小游戏已经制作完成。但是我们在玩游戏的时候是有结束的,那我们也写一个结束信号;
什么样的情况为结束能?当然是球落到地上,那如何让程序知道碰到了地呢?
当球在移动的过程当中坐标也是在移动的,球的主要移动是上下移动便是y坐标在减少,那么如果我们在舞台设一个界限,y的值小于到一定程度时候,
小于我们边缘这条线,也就是y的最小值-180;就游戏结束。
但是执行程序会发现还是没有结束,因为角色会有中心点的,
这时候中线的永远不会超过舞台的边界的;
这时候我们需要提高我们设置的线。
提高到这也就可以超过了;y为-140(可更具实际情况调整)
5、优化
这时候我们可以为球增加上音乐效果;触碰到小猫时候,以及落地时
四、项目完整程序
五、作业与实践
1、完成以下选择题;
①1格的长度是100,小猫当前面向90度方向,下列代码可以让小猫走到星星的位置的是?( )
A、 | B、 | ||
C、 | D、 |
②从背景库中选择一个背景,应该点击下面哪一个按钮?( )
A、 | B、 | ||
C、 | D、 |
点击查看答案
1 | C |
2 | A |
2、复习坐标随机位置概念;
3、完成项目完整程序。