### 介绍
在这个项目中,您将创建一个游戏,在游戏中您需要引导猫注意安全,并且不能让猫掉入任何深渊里!
点击并拖动鼠标来用铅笔画一条线,您的目标是通过创建一条通往出口的安全路径来阻止猫咪掉入洞中。

### 资源获取

想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**护送猫咪**”获取下载地址。
### 能学到的知识
在这个项目中,我们可以学到以下知识:
- 如何使用**重复执行**循环来不断生成移动的猫咪
- 如何使用**重复执行直到**循环来确保猫咪沿着直线移动
- 了解**刚体**以及如何在游戏中应用**刚体**(物理引擎)
- 如何克隆角色
### 项目制作
#### 1、资源准备
在本项目中,会用到一个背景图和一个门,资源如下:


#### 2、画线
首先,我们需要添加画笔扩展,点击Scratch左下角的扩展图标,如下所示:

点击画笔扩展,如下:

在代码区域,就出现了画笔扩展,如下所示:

然后我们添加一个角色,选择"Pencil"角色,如下所示:

将角色名称修改为“笔”,然后添加代码,将笔的颜色设置与舞台上的障碍物相同的蓝色。

要选择一种颜色,请在 **将笔的颜色设置为** 积木块中单击颜色块,在打开的弹窗中选择滴管工具并移动到舞台中的障碍物上,来获取正确的颜色。
添加代码来让笔随着鼠标移动,如下:

测试代码,看画笔是否跟随鼠标移动。
下面我们添加代码,告诉画笔,如果按下鼠标按钮,则可以在舞台上画一条线:

测试代码,您应该能够单击并拖动鼠标在舞台上绘制蓝色的线。

您可能会看到一个蓝点始终出现在舞台的右上角(在上图中被圈出)。 这是因为,当您单击绿色标志开始游戏时,您按下了鼠标,因此笔立即开始绘制。
为了阻止这种情况发生,在代码块开始的部分添加 **抬笔** 和**等待 1 秒** 积木块,放在 **重复执行** 积木块前面。

#### 3、生成猫咪
您需要源源不断的生成猫咪来让玩家画出路径引导猫咪直到出口。
创建一个“猫咪”的角色,我们选用默认的猫咪角色,然后添加代码,每3秒克隆一个猫咪:

我们需要将猫咪放在画布上方,这样猫咪就可以从上方掉落下来。坐标如下:

如果您现在运行程序,舞台上什么也不会发生。 要检查是否每 3 秒克隆了一个新的猫咪精灵,我们需要让猫咪显示出来并从天空中掉下来。
添加代码,当**作为克隆体启动**时,它应该显示,然后 碰到颜色 为舞台上绘制的蓝色时,要修改猫咪的y坐标,不让猫咪继续下沉,这类似于物理引擎中的**刚体**。

单击绿色小旗标志时,您应该看到每三秒钟一只新的猫咪从舞台的顶部掉下来。 蓝色的地板上应该有一大堆的猫咪

#### 4、让猫咪动起来
一旦猫咪到达地面,它就应慢慢向右边走。
添加代码到 当作为克隆体启动时 ,使猫咪精灵 **移动 10 步** 并且 每隔 0.1 秒在猫咪精灵的两个造型之间切换,来让猫咪看起来像在走路。

按下绿色小旗标志,然后检查猫现在是否沿着底部的蓝色平台移动。
如果您在间隙上通过画线架起一座桥,来让猫咪可以一直走到舞台的右侧,您会发现它们最终被困在右墙中。

删除 **重复执行** 循环,替换为一个 **重复执行直到碰到舞台边缘** 的循环积木块。 当猫咪到达舞台边缘时,它应该消失。

按下绿色小旗标志,并检查猫咪到达舞台边缘时是否消失。
您可能会注意到,如果猫掉入洞中,它们不会消失,而会卡在底部。 这是因为他们不断试图向下下滑。
这是代码的一部分,它告诉猫继续跌落,直到它碰到蓝色:

但是,在洞中,猫永远无法到达蓝色,因此它会一直被卡住。
向此循环添加更多块,重复执行直到碰到颜色蓝色 或 碰到舞台边缘。 这样,如果精灵到达舞台的边缘,它将停止尝试掉落。

#### 5、让猫咪沿着线行走
您可能会注意到,如果您在两个平台之间画了一座稍微低一些的桥, 或者一条向上倾斜的直线,猫最终会在平台或线上穿行而不是走在它们上面!

在猫咪精灵的代码中,在 **下一个造型** 积木块之前添加另一个循环。 这一次,循环应该告诉猫咪**上移 2 步**直到它不触碰蓝色。

单击绿色小旗标志,然后尝试绘制一条向上倾斜的线。 请检查您的猫是否跟随这条线。
#### 6、猫咪成功离开
游戏的目标是通过绘制一条路径引导猫咪保持安全,这样他们就可以到达门型出口。 创建一个 **分数** 变量以跟踪有多少只猫到达了门口。
添加代码,每次当有猫咪到达门口时,将分数 增加 1。 同时在 当绿旗被点击 将 分数 设为 0。


添加更多代码,以便当猫咪精灵到达门口时,发出 “meow” 的声音,然后消失。

#### 7、挑战:更多的障碍
目前,游戏很容易获胜。 您能想到一些想法使这个游戏变得更难吗?
- 添加更多背景不同的平台设计。
- 根据显示的背景移动门的位置。
- 添加更多的精灵作为移动的障碍。 也许可以添加一些来回游走的狗或其它障碍物物来让猫咪躲避?
- 仅允许玩家使用有限数量的“墨水”在游戏中画线。 您可以通过创建一个计时器变量来跟踪使用了多少“墨水”,该变量记录了按下鼠标的时间。
- 创建一个精灵以显示玩家剩余的墨水量。