## 👋 项目介绍
欢迎来到今天的 Scratch 编程课堂!今天我们要一起做一个超级有趣的**拖拽换装小游戏**,主角是我们可爱的外星朋友——**Tera** 👽!
在这个游戏中,你可以用鼠标把各种衣服、帽子、眼镜、翅膀等等拖到 Tera 身上,给她搭配出独一无二的时尚造型!是不是听起来就很酷呢?✨
这个项目不仅好玩,还能帮你掌握 Scratch 中的很多实用技巧,比如角色拖拽、碰撞检测、图层控制等。准备好了吗?让我们一起动手来装扮 Tera 吧!
## 🎯 你将学会
* 如何设置角色的初始位置和拖拽属性
* 如何让角色在碰到另一个角色时自动“穿”上它
* 如何利用“图层控制”让翅膀显示在角色背后
* 如何合理组织多个角色的代码逻辑
* 如何测试和优化你的互动程序
## 🛠️ 开始制作
### 第一步:创建新项目并设置舞台背景
我们首先要做的就是创建一个新的 Scratch 项目,并设置好舞台背景。
**操作步骤:**
1. 打开 Scratch 软件,创建一个新项目。
2. 删除默认的白色背景。
3. 点击“选择一个背景”按钮,在背景库中选择 `backdrop1` 并添加它。
**代码实现:**
舞台不需要添加代码。
<!--SHOT:action:1-->

---
### 第二步:添加所有角色
接下来我们要把所有需要用到的角色都添加进来,包括我们的主角 Tera 和她可以穿戴的各种服装和配饰。
**操作步骤:**
1. 点击“选择一个角色”按钮,依次添加以下角色:
- `Tera`(主角)
- `Hat`
- `Antennae`
- `Mask`
- `Star Glasses`
- `Tshirt`
- `Blouse`
- `Pants`
- `Shorts`
- `Wings`
**提示:** 有些角色可能已经在项目文件中存在,请注意区分是从库中选择还是从项目中导入。
<!--SHOT:action:3-->

---
### 第三步:为角色添加造型
为了让角色看起来更生动,我们需要为一些角色添加自定义造型。
**操作步骤:**
1. 选中 `Tera`,点击“上传造型”按钮,添加名为 `tera` 的造型。
2. 分别选中 `Pants` 和 `Shorts`,为它们各添加一个名为 `costume1` 的造型。
这些造型会决定角色在画面上的样子。
---
### 第四步:编写 Tera 的初始位置和对话脚本
现在我们来给 Tera 写一段简单的自我介绍吧!
**操作步骤:**
1. 选中 `Tera` 角色。
2. 切换到“代码”标签页。
3. 添加如下代码:
```scratch
when flag clicked
go to x: (-125) y: (-50)
say [What should I wear?] for (2) seconds
```
**逻辑解析:**
这段代码的意思是:当绿旗被点击后,Tera 会移动到舞台左侧的位置 `(x:-125, y:-50)`,然后说一句“我该穿什么呢?”持续 2 秒钟。
<!--SHOT:action:21-->

---
### 第五步:为配饰类角色添加可拖拽特性
为了让玩家可以用鼠标拖动帽子、眼镜、口罩等配件,我们要给这些角色添加“可拖拽”的功能。
我们以 `Hat` 为例演示:
**操作步骤:**
1. 选中 `Hat` 角色。
2. 添加如下代码:
```scratch
when flag clicked
go to x: (-12) y: (59)
set drag mode [draggable v]
```
其他类似角色如 `Antennae`、`Mask`、`Star Glasses`、`Blouse`、`Pants`、`Shorts` 也都按照同样的方式添加代码,只需调整它们各自的初始坐标即可。
**逻辑解析:**
通过设置 `set drag mode [draggable v]`,可以让角色在舞台上自由拖动。同时,我们还设定了每个角色的初始位置,使它们整齐排列在舞台上。
---
### 第六步:编写 Tshirt 的拖拽与自动跟随功能
为了让 Tera 自动“穿上”Tshirt,我们要让它具备自动跟随的能力。
**操作步骤:**
1. 选中 `Tshirt` 角色。
2. 添加如下代码:
```scratch
when flag clicked
go to x: (-8) y: (49)
set drag mode [draggable v]
forever
if <touching [Tera v]?> then
go to (Tera v)
end
end
```
**逻辑解析:**
这个脚本让 Tshirt 在被拖拽后,一旦碰到了 Tera,就会立刻跳转到她的位置,模拟“穿上”的动作。使用了 `forever` 循环不断检查是否触碰。
---
### 第七步:编写 Wings 的特殊跟随 + 图层控制
为了让翅膀能正确显示在 Tera 的背后而不是前面,我们需要额外添加图层控制。
**操作步骤:**
1. 选中 `Wings` 角色。
2. 添加如下代码:
```scratch
when flag clicked
go to x: (96) y: (-62)
set drag mode [draggable v]
forever
if <touching [Tera v]?> then
go to (Tera v)
go to [back v] layer
end
end
```
**逻辑解析:**
除了基本的跟随功能之外,还加入了 `go to [back v] layer` 来让翅膀始终位于 Tera 的背后层,这样就实现了更真实的穿戴效果。
---
### 第八步:运行项目并查看效果
大功告成啦!现在我们可以点击绿旗运行项目,看看 Tera 是否能够顺利换装、说话,并且各个配件都能被拖拽和穿戴。
**操作步骤:**
1. 点击绿色旗帜运行项目。
2. 尝试拖动不同的服装和配饰,观察它们是否能贴合 Tera。
3. 如果一切正常,恭喜你完成了这个有趣的换装小游戏!

---
## 🚀 挑战一下
你已经成功做出了一个基础版的换装游戏!那你能进一步提升它的趣味性吗?
👉 **挑战任务:**
- 添加更多种类的衣服或饰品(例如鞋子、包包)
- 让 Tera 在穿上某件衣服后改变表情或者颜色
- 加入音效,每次穿戴成功播放一个小音符🎵
发挥你的创意,打造属于自己的专属时尚秀场吧!
---
## 🎉 结语
太棒啦!你已经掌握了如何用 Scratch 实现一个拖拽式换装小游戏的所有核心技术,包括角色定位、拖拽交互、碰撞判断以及图层管理!
希望你在创作的过程中感受到了编程带来的快乐和成就感 💫。记得把你做好的作品分享给朋友们看哦~下次再见时,我们会带来更多精彩的 Scratch 编程项目等着你!🌟
继续加油,未来的小小程序员!🚀