HOME / 第 2 部分 · 核心概念与 GDScript 语法 / 第 7 课
MODULE 2 · 核心概念与 GDScript 语法
第 7 课 · 场景(Scene)系统
🎯 本课学习目标
- 理解「场景」是节点树的组合
- 学会保存、打开、运行场景
- 理解一个项目里可以有多个场景,以及场景之间的切换方式
场景就是把节点组合成一个「可复用的整体」。本课讲清场景的保存、结构与多场景协作。
📖 详细教学步骤
场景 = 一整套节点树概念
一个场景(Scene)就是一个完整的节点树,包含一个根节点和它的所有后代。
- 保存后生成
.tscn文件(纯文本,可用记事本打开) - 场景可以是:一个敌人、一个道具、一个 UI 界面、整个关卡
- 场景可以互相嵌套:一个关卡场景里可以放很多「敌人场景」
保存与打开场景操作
- 保存:Ctrl+S,命名为英文(如
player.tscn) - 打开:在资源面板双击 .tscn 文件,即可在编辑器打开该场景
- 新建场景:Ctrl+N 或菜单 场景→新建场景
- 编辑器同时只能编辑一个场景,切换场景就是打开不同文件
主场景:游戏从哪个场景开始概念
一个项目必须指定一个主场景(Main Scene):运行游戏时首先加载它。
- 按 F5 第一次运行会提示选择主场景
- 也可以手动设置:菜单 项目 → 项目设置 → 常规 → Application → Run → Main Scene
- 后续第 63 课会学「场景切换」,即在游戏里动态跳转到其他场景
用多个场景组织游戏实操
一个典型的小游戏会有这些场景:
| 场景文件 | 内容 |
|---|---|
| main.tscn | 主关卡(地面+玩家+敌人) |
| player.tscn | 玩家(精灵+物理体+脚本) |
| enemy.tscn | 敌人(可被多个关卡复用) |
| ui.tscn | 血条、分数等界面 |
场景复用 = 做一次敌人,在多个关卡里放多个,是 Godot 高效开发的秘诀。
⚠️
场景里找不到之前放的东西?
可能是打开了另一个场景。检查顶部场景名标签,或从资源面板重新打开 .tscn。
⚠️
为什么我的场景不能直接运行?
只有被设为主场景的场景按 F5 才能直接运行。其他场景可以单独运行:在场景面板点击播放按钮(F6 运行当前场景)。
🧪 动手试一试
🏋️ 课后练习
创建两个场景:main.tscn 和 player.tscn。在 player.tscn 里放一个 Sprite2D,把 player.tscn 实例化(拖)进 main.tscn。
把资源面板的 player.tscn 文件拖到 main.tscn 的场景面板,就完成了「场景嵌套/实例化」。
💡
场景文件是纯文本,以后可以对比 .tscn 文件内容理解场景结构。
💡
F6 可只运行当前编辑的场景,调试单个场景非常方便。
🎓 本课小结
场景是节点树的完整组合,保存为 .tscn 文件,可互相嵌套复用;主场景决定游戏启动时先加载谁,F6 可单独运行当前场景。