### 简介
在这个项目中,我们将学习如何创建一个动画,跑着或者飞着赶上一辆公交车。
点击绿旗开始,将自动执行动画,等都上了公交车,公交车将开走。

> 动画:通过快速改变图片来创建运动效果。第一批动画师用木块雕刻图片,并将其用作印章。使用Scratch编写动画代码要快得多!
### 资源获取

想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**公交车**”获取下载地址。
### 能学到的知识
在这个项目中,我们可以学到以下知识:
- 如何使用精灵图集制作动画
- 使用重复循环移动角色
### 项目制作
#### 1、创建公交车场景
首先,我们要选择一个背景,在Scratch软件右下角,点击选择一个背景:

选择“户外”分类,选择一个适合作为公交车起点的背景,在这里我们选择“Night City”。

在这里,我们提供一个带街道的“Night City”背景,可以使用上传背景功能来使用这个背景。

然后选择一个角色,在Scratch右下角,点击选择一个角色:

使用搜索功能,输入“bus”,此时我们可以看到有一个公交车角色:

然后添加“City Bus”到我们的Scratch项目中。
现在我们需要给公交车一个起始位置,首先我们要确保已经把“City Bus”添加到项目中,然后点击这个角色,将公交车移动到一个比较合适的位置,如下图所示:

在舞台下方的角色面板中可以看到公交车的x和y坐标(用于描述位置的数字):

现在给公交车添加代码,当绿旗被点击时,要设置公交车的位置:

其中x,y是我们设置的起始坐标。
我们可以测试下,当把公交车移动到别的位置时,点击绿旗,公交车是不是回到了我们设定的位置。
为了确保公交车角色总是在其他所有角色的后面,我们需要加一个“移到最后面”积木:

我们可以修改下公交车的颜色:

这里你可以尝试其他数字,来设置公交车的颜色。
现在让我们来配置一下Scratch cat,在所有新的Scratch项目中,Scratch猫都会出现在角色列表中,名字为“Sprite1”。点击角色列表中的Sprite1,调整大小为50。

#### 2、Scratch猫赶上公交车
我们需要让Scratch猫从舞台右侧出现,并通过在循环重复移动来走向公交车。

首先,我们需要给Scratch猫设置一个起始位置,选择Sprite1角色,在角色面板中,单击"方向"属性,将箭头旋转到-90度,然后,单击中间的"左/右"图标,将旋转样式更改为左右,以阻止Scratch猫翻转过来。

现在我们需要将Scratch猫拖到舞台的右下角。

给Scratch猫添加一下代码来初始化起始位置:

下一步,我们要让Scratch猫动起来,我们使用“重复执行”积木让Scratch猫循环移动一点点,这样可以让Scratch猫看起来像一个动画。

> 测试:点击绿旗,尝试修改重复执行里的次数,让Scratch猫可以停在公交车的位置。
有些角色有多个造型,我们将使用Scratch猫的造型来制作Scratch猫行走的动画。
在Scratch猫的代码中,在“移动5步”下,添加“下一个造型”

> 点击绿旗,看Scratch猫走向公交车,动作是不是很自然?
当Scratch猫走到公交车边上后,猫上了公交车,这时我们可以将Scratch猫隐藏起来:

> 测试: 点击绿旗,这时你会看到Scratch猫走到公交车边,然后消失。
在游戏开始时,我们需要将猫显示出来,否则一局游戏结束后,Scratch猫就不会再出现了。

#### 3、河马飞到公交车上

添加一个“Hippo1”角色到我们项目中,然后修改“Hippo1”的大小为50:

拖动河马,将河马放在舞台的左上角:

添加一下代码,将河马的初始位置固定:

下面我们要让河马扇动它的翅膀开始飞行,添加一下代码,让河马面向公交车

>测试:点击绿旗,检查河马是否飞到公交车上。我们可以改变重复块中的数字,让河马停在合适的位置。
然后添加“显示”和“隐藏”积木:

#### 4、公交车离开
当Scratch猫和河马都上车以后,公交车需要离开。

选择“City Bus”角色,添加“等待6秒”积木,当绿旗点击后,等待6秒,然后离开

将公交车拖到舞台的右侧,这时我们可以获取公交车将滑动到的x和y位置。

在“等待”块下方添加一个“在2秒内滑动到x: y: ”积木

> 测试:点击绿旗,Scratch猫和河马将移动到公交车上,公交车将在6秒后开到右边。
现在我们要在公交车离开后,将公交车隐藏

> 测试:点击绿旗,公交车现在会在开走后隐藏起来。还记得如何确保一个角色在点击绿旗时重新出现吗?
在初始化代码处,添加一个“显示”积木,如下所示:

#### 5、错过公交车
如果Scratch猫跑都不够快,错过了公交车,应该怎么办?

下面让我们添加一个代码,来确保Scratch猫错过公交车,选择Scratch猫角色,然后添加一个等待积木

> 测试: 点击绿旗,会发现Scratch猫移动的很慢,然后会错过公交车。
现在让我们调整代码,来确保Scratch猫能赶上公交车,我们需要减少等待时间,可以尝试将1秒修改为0.5、0.2、0.1秒来查看效果,经过测试,0.2秒比较合适。

#### 6、修改目的地
公交车上写着"Scratch Tours",但我们可以将目的地改为我们希望去的地方。
选择“City Bus”角色,然后点击造型,如下所示


### 结语
现在,我们可以在动画中添加一个其他精灵,然后添加代码,让精灵移动到起始位置,指向正确的方向,然后重复移动和下一个造型块,以到达公交车。