### 简介
在这个Scratch项目中, 我们将学会如何开发科技玩具,包括无人机!
![](https://www.codxz.com/media/upload/2024070510005465.png)
- 点击蝴蝶结使其旋转
- 点击太阳镜使其改变颜色
- 点击笔记本电脑启动直升机
- 使用方向键操控直升机飞行
- 按空格键使直升机完成空中翻滚
### 可以学到的知识
在这个项目中,我们可以学到以下知识:
- 如何制作精灵动画
- 如何响应键盘输入
- 理解广播机制的工作原理
### 资源准备
在本项目中,用到了一些资源,下面是直升机的图片
![](https://www.codxz.com/media/upload/2024070510143894.png)
![](https://www.codxz.com/media/upload/2024070510143888.png)
背景图:
![](https://www.codxz.com/media/upload/2024070510150708.png)
太阳镜:
![](https://www.codxz.com/media/upload/2024070510164260.png)
蝴蝶结:
![](https://www.codxz.com/media/upload/2024070510152898.png)
无线发夹:
![](https://www.codxz.com/media/upload/2024070510162625.png)
### 项目制作
#### 1、旋转蝴蝶结
首先我们新建一个Scratch项目,然后添加角色,搭建成下面的形式:
![](https://www.codxz.com/media/upload/2024070510184160.png)
部分角色用的是Scratch内置的角色,其中女角色用的是“Alex”,男角色用的是“Devin”,笔记本是“Laptop”,石头是“Rocks”。
我们将蝴蝶结角色命名为“Bow Tie”,点击蝴蝶结,添加以下代码
![](https://www.codxz.com/media/upload/2024070510242731.png)
点击蝴蝶结来运行代码。你应该会看到蝴蝶结顺时针旋转15度,重复10次,总共旋转150度。
![](https://www.codxz.com/media/upload/2024070511065339.png)
找到![](https://www.codxz.com/media/upload/2024070511073945.png)
积木,不要拖动它,直接点击它来将蝴蝶结设置回初始位置。
> 提示:在Scratch中,你可以直接点击一个积木来立即运行它。你甚至不需要先把它拖到脚本区域!
为了让蝴蝶结完成一整圈旋转,代码中的数字需要加起来等于360度。修改我们的代码,使蝴蝶结每次旋转36度,重复10次(36 x 10 = 360)。
![](https://www.codxz.com/media/upload/2024070511090165.png)
再次测试代码,这一次,蝴蝶结应该完成一个完整的360度旋转,并最终回到起始位置。
如果想让蝴蝶结完成4个完整的旋转,我们可以将重复积木中的数字从10改为40。
![](https://www.codxz.com/media/upload/2024070511102912.png)
#### 2、挑战:变色太阳镜
你能使用以下积木来让太阳镜在点击时改变颜色吗?
![](https://www.codxz.com/media/upload/2024070511123126.png)
记住,你可以改变代码积木中的数字!
#### 3、启动你的直升机
让我们编写代码,使直升机在点击笔记本电脑时启动。
让我们从在点击笔记本电脑时广播一个启动消息开始。我们需要创建一个名为"start"的新消息。
![](https://www.codxz.com/media/upload/2024070511151442.png)
这段代码向所有其他精灵广播一条消息。如果我们测试这段代码,会发现目前还没有任何反应!这是因为我们还没有编写直升机对这条消息做出响应的代码。
点击直升机精灵,并添加一个"**当接收到**"积木,任何连接到这个积木的代码都会在收到来自笔记本电脑的"start"消息时运行。
![](https://www.codxz.com/media/upload/2024070511200146.png)
如果点击直升机的"造型"选项卡,我们会注意到它有两个造型,它们的螺旋桨略有不同。
![](https://www.codxz.com/media/upload/2024070511205064.png)
我们可以使用这两个造型来为直升机制作动画。添加下面这段代码,使直升机在收到"start"消息后永远循环切换造型
![](https://www.codxz.com/media/upload/2024070511215809.png)
通过点击笔记本电脑精灵来测试我们的代码。直升机螺旋桨是否开始动画了?
#### 4、驾驶你的直升机
让我们使用方向键来驾驶你的直升机。
让我们先编写代码,使直升机在按下向上箭头键时向上移动。
![](https://www.codxz.com/media/upload/2024070511241093.png)
测试代码,我们会看到每当按下向上箭头键时,直升机的y坐标(上/下位置)都会改变。
为了让直升机移动得更平滑,我们可以在直升机的"重复执行"循环内添加向上移动的代码。
![](https://www.codxz.com/media/upload/2024070511250726.png)
我们也可以编写代码,使直升机在按下左箭头键时向左移动,这次我们需要将直升机的x坐标改变-2。
![](https://www.codxz.com/media/upload/2024070511261496.png)
然后我们添加向下按键和向右按键的代码,最终代码如下:
![](https://www.codxz.com/media/upload/2024070511270392.png)
#### 5、空中翻滚
让我们来编写代码,使直升机做360度旋转。
我们希望直升机在每次按下空格键时做一个360度的旋转。记住,代码中的数字加起来需要等于360。
![](https://www.codxz.com/media/upload/2024070511283080.png)
通过按空格键来测试代码,你会看到直升机旋转得非常慢。这是因为它只是旋转1度重复360次。
为了加快直升机的旋转速度,改变你代码中的数字,使它每次旋转更多度数,但重复次数更少。只要这些数字加起来等于360,选择什么数字都可以!
![](https://www.codxz.com/media/upload/2024070511291576.png)
如果我们想让直升机在旋转的同时也移动,只需在代码中添加一个移动积木。
![](https://www.codxz.com/media/upload/2024070511300167.png)
再次按空格键来测试代码,你应该会看到直升机在画圈移动。
### 挑战:创建自己的科技玩具
1、你可以让天线在被点击时移动吗?
![](https://www.codxz.com/media/upload/2024070511315636.png)
2、你可以制作任何你喜欢的科技玩具,这里有一些其他你可以使用的精灵:
![](https://www.codxz.com/media/upload/2024070511323078.png)