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、完成项目完整程序。

posted @ 2023-11-28 17:52  WangZhaowei  阅读(967)  评论(0编辑  收藏  举报