为孩子们准备的Scratch动画项目:赶上公交车

由 小石头编程 发表于 2024年06月01日
### 简介 在这个项目中,我们将学习如何创建一个动画,跑着或者飞着赶上一辆公交车。 点击绿旗开始,将自动执行动画,等都上了公交车,公交车将开走。 ![](https://www.codxz.com/media/upload/2024060109571597.png) > 动画:通过快速改变图片来创建运动效果。第一批动画师用木块雕刻图片,并将其用作印章。使用Scratch编写动画代码要快得多! ### 资源获取 ![](https://www.codxz.com/media/upload/2024042517221275.png) 想要获取项目文件,可扫码关注“小石头编程”公众号,回复“**公交车**”获取下载地址。 ### 能学到的知识 在这个项目中,我们可以学到以下知识: - 如何使用精灵图集制作动画 - 使用重复循环移动角色 ### 项目制作 #### 1、创建公交车场景 首先,我们要选择一个背景,在Scratch软件右下角,点击选择一个背景: ![](https://www.codxz.com/media/upload/2024060110080298.png) 选择“户外”分类,选择一个适合作为公交车起点的背景,在这里我们选择“Night City”。 ![](https://www.codxz.com/media/upload/2024060110093483.png) 在这里,我们提供一个带街道的“Night City”背景,可以使用上传背景功能来使用这个背景。 ![](https://www.codxz.com/media/upload/2024060110112788.png) 然后选择一个角色,在Scratch右下角,点击选择一个角色: ![](https://www.codxz.com/media/upload/2024060110123417.png) 使用搜索功能,输入“bus”,此时我们可以看到有一个公交车角色: ![](https://www.codxz.com/media/upload/2024060110130893.png) 然后添加“City Bus”到我们的Scratch项目中。 现在我们需要给公交车一个起始位置,首先我们要确保已经把“City Bus”添加到项目中,然后点击这个角色,将公交车移动到一个比较合适的位置,如下图所示: ![](https://www.codxz.com/media/upload/2024060110150773.png) 在舞台下方的角色面板中可以看到公交车的x和y坐标(用于描述位置的数字): ![](https://www.codxz.com/media/upload/2024060110370294.png) 现在给公交车添加代码,当绿旗被点击时,要设置公交车的位置: ![](https://www.codxz.com/media/upload/2024060111392652.png) 其中x,y是我们设置的起始坐标。 我们可以测试下,当把公交车移动到别的位置时,点击绿旗,公交车是不是回到了我们设定的位置。 为了确保公交车角色总是在其他所有角色的后面,我们需要加一个“移到最后面”积木: ![](https://www.codxz.com/media/upload/2024060111391709.png) 我们可以修改下公交车的颜色: ![](https://www.codxz.com/media/upload/2024060111390573.png) 这里你可以尝试其他数字,来设置公交车的颜色。 现在让我们来配置一下Scratch cat,在所有新的Scratch项目中,Scratch猫都会出现在角色列表中,名字为“Sprite1”。点击角色列表中的Sprite1,调整大小为50。 ![](https://www.codxz.com/media/upload/2024060110460079.png) #### 2、Scratch猫赶上公交车 我们需要让Scratch猫从舞台右侧出现,并通过在循环重复移动来走向公交车。 ![](https://www.codxz.com/media/upload/2024060111050637.png) 首先,我们需要给Scratch猫设置一个起始位置,选择Sprite1角色,在角色面板中,单击"方向"属性,将箭头旋转到-90度,然后,单击中间的"左/右"图标,将旋转样式更改为左右,以阻止Scratch猫翻转过来。 ![](https://www.codxz.com/media/upload/2024060111064314.png) 现在我们需要将Scratch猫拖到舞台的右下角。 ![](https://www.codxz.com/media/upload/2024060111095498.png) 给Scratch猫添加一下代码来初始化起始位置: ![](https://www.codxz.com/media/upload/2024060111382744.png) 下一步,我们要让Scratch猫动起来,我们使用“重复执行”积木让Scratch猫循环移动一点点,这样可以让Scratch猫看起来像一个动画。 ![](https://www.codxz.com/media/upload/2024060111375778.png) > 测试:点击绿旗,尝试修改重复执行里的次数,让Scratch猫可以停在公交车的位置。 有些角色有多个造型,我们将使用Scratch猫的造型来制作Scratch猫行走的动画。 在Scratch猫的代码中,在“移动5步”下,添加“下一个造型” ![](https://www.codxz.com/media/upload/2024060111374065.png) > 点击绿旗,看Scratch猫走向公交车,动作是不是很自然? 当Scratch猫走到公交车边上后,猫上了公交车,这时我们可以将Scratch猫隐藏起来: ![](https://www.codxz.com/media/upload/2024060111372647.png) > 测试: 点击绿旗,这时你会看到Scratch猫走到公交车边,然后消失。 在游戏开始时,我们需要将猫显示出来,否则一局游戏结束后,Scratch猫就不会再出现了。 ![](https://www.codxz.com/media/upload/2024060111370730.png) #### 3、河马飞到公交车上 ![](https://www.codxz.com/media/upload/2024060111233174.png) 添加一个“Hippo1”角色到我们项目中,然后修改“Hippo1”的大小为50: ![](https://www.codxz.com/media/upload/2024060111240177.png) 拖动河马,将河马放在舞台的左上角: ![](https://www.codxz.com/media/upload/2024060111242192.png) 添加一下代码,将河马的初始位置固定: ![](https://www.codxz.com/media/upload/2024060111364743.png) 下面我们要让河马扇动它的翅膀开始飞行,添加一下代码,让河马面向公交车 ![](https://www.codxz.com/media/upload/2024060111362931.png) >测试:点击绿旗,检查河马是否飞到公交车上。我们可以改变重复块中的数字,让河马停在合适的位置。 然后添加“显示”和“隐藏”积木: ![](https://www.codxz.com/media/upload/2024060111355385.png) #### 4、公交车离开 当Scratch猫和河马都上车以后,公交车需要离开。 ![](https://www.codxz.com/media/upload/2024060111283602.png) 选择“City Bus”角色,添加“等待6秒”积木,当绿旗点击后,等待6秒,然后离开 ![](https://www.codxz.com/media/upload/2024060111294590.png) 将公交车拖到舞台的右侧,这时我们可以获取公交车将滑动到的x和y位置。 ![](https://www.codxz.com/media/upload/2024060111305166.png) 在“等待”块下方添加一个“在2秒内滑动到x: y: ”积木 ![](https://www.codxz.com/media/upload/2024060111320245.png) > 测试:点击绿旗,Scratch猫和河马将移动到公交车上,公交车将在6秒后开到右边。 现在我们要在公交车离开后,将公交车隐藏 ![](https://www.codxz.com/media/upload/2024060111332927.png) > 测试:点击绿旗,公交车现在会在开走后隐藏起来。还记得如何确保一个角色在点击绿旗时重新出现吗? 在初始化代码处,添加一个“显示”积木,如下所示: ![](https://www.codxz.com/media/upload/2024060111351255.png) #### 5、错过公交车 如果Scratch猫跑都不够快,错过了公交车,应该怎么办? ![](https://www.codxz.com/media/upload/2024060111421245.png) 下面让我们添加一个代码,来确保Scratch猫错过公交车,选择Scratch猫角色,然后添加一个等待积木 ![](https://www.codxz.com/media/upload/2024060111424317.png) > 测试: 点击绿旗,会发现Scratch猫移动的很慢,然后会错过公交车。 现在让我们调整代码,来确保Scratch猫能赶上公交车,我们需要减少等待时间,可以尝试将1秒修改为0.5、0.2、0.1秒来查看效果,经过测试,0.2秒比较合适。 ![](https://www.codxz.com/media/upload/2024060111450923.png) #### 6、修改目的地 公交车上写着"Scratch Tours",但我们可以将目的地改为我们希望去的地方。 选择“City Bus”角色,然后点击造型,如下所示 ![](https://www.codxz.com/media/upload/2024060111483685.png) ![](https://www.codxz.com/media/upload/2024060111493923.png) ### 结语 现在,我们可以在动画中添加一个其他精灵,然后添加代码,让精灵移动到起始位置,指向正确的方向,然后重复移动和下一个造型块,以到达公交车。