给孩子们准备的Scratch小游戏:接住小点

由 小石头编程 发表于 2024年04月22日

介绍

我们将在本项目中学习如何创建一个游戏,在游戏中,我们必须使彩色小点与控制器的正确部位相匹配。

能学到什么

  • 物体碰撞的原理
  • 游戏开发的思路

资源准备

在本项目中, 会用到一个控制器和一些颜色小球,控制器的图如下:

小球我们可以使用Scratch的画图工具来制作。

开始制作

1、创建一个控制器

让我们从创建一个控制器开始,控制器将用来收集小点。 我们添加一个角色,使用我们上面的控制器图,如下所示: 接下来,我们给控制器添加旋转的代码,当按下向右方向键时,控制器向右旋转3°,代码如下:

现在测试下,按下向右箭头,看控制器是不是向右旋转。

同样的,当我们按下向左箭头时,控制器应该向左旋转,所以我们需要添加如下代码:

2、收集小点

让我们来添加一些小点,供玩家使用控制器收集。 首先我们需要添加一个叫"red"的角色,然后使用Scratch自带的画图软件绘制一个小红点,如下图所示:

我们需要每隔几秒钟就要生成一个小红点,给小红点添加如下代码:

我们需要小红点出现在下面的位置之一, 这时,我们需要使用列表来存储起始位置,创建一个新列表,添加-180和180两个数字,如下所示:

我们可以使用这个列表来随机四个起始位置的其中一个,给小红点添加一下代码: 上面的代码选择 -180 或 180 作为 x 和 y 坐标,这意味着每个复制点起始于工作区的一个角。 测试代码,会看到大量红色小点出现在画面的各个角,并朝控制器缓慢移动。

下面,我们创建生命分数的新变量,在游戏开始时将生命设为3,分数设为0。 然后当小红点碰到控制器时,如果颜色匹配,则分数+1,若颜色不匹配,生命-1。 代码如下:

在控制器中,添加一下代码,当生命小于1时,游戏结束,停止所有代码。

现在测试我们的代码,检测是否正常运行。

挑战1:更多颜色的小点

复制你的“red”小点角色两次,并将两个新子图命名为“yellow”(黄色)和“blue”(蓝色)。

编辑这些角色(包括他们的代码),以使每个彩色小点必须与控制器上的正确颜色相匹配。请记得测试项目,确保在恰当的时间获取分数和失去生命,并且游戏不会太过简单或太过困难!

挑战2:增加难度

让我们通过缓慢减少小点出现的间隔时间,来使游戏随着玩家存活时间延长而变得越发困难。 我们可以通过增加一个延迟的变量,在游戏开始时,将延迟设置一个较大的值,然后缓慢减小延迟的数值。 请注意,这与游戏计时器的工作原理十分相似! 最后我们在小点的脚本上使用这个变量,将在创建复制点之间等待一个随机秒数的代码移除,并用我们的新延迟变量替代它。 测试我们的新延迟变量,看小点之间的延迟时间是否缓慢减少。这对于3种颜色的小点通用吗?能否看到 延迟 变量的值正在减少?

挑战3:移动更快的小点

我们能否通过添加一个速度变量来完善我们的游戏,使得小点从一次移动1步开始,逐渐变得越来越快?其工作方式与上面使用的延迟变量十分相似,我们可以尝试实现一下。