多场景
一个作品可以分成多个场景。每个场景是一个完整的小作品,有自己的舞台、角色、脚本、造型、 声音和变量:菜单一个场景,第一关一个场景,Boss 战一个场景,不必再让每个角色自己判断 本关该不该出现。

最上面一行是作品当前的运行概览,下面是场景卡片。图中「主场景」在前台运行,「第二关」在 后台在场,「结算画面」已经卸载。
老作品没有场景的概念,打开之后就是一个场景,名字叫「主场景」。建立第二个场景后,编辑器 会自动装上「场景」扩展,积木栏底下多出一类:

这一类里积木栏能看见 39 块(扩展一共 46 个积木,其中 7 块是被取代的老积木,已经隐藏, 老作品里照样能运行)。多场景作品里这个扩展不能卸载:扩展库里它的按钮不会变成「卸载」, 鼠标停上去写着「有多个场景时不能卸载」。
打开方式#
顶栏作品名旁边那枚胶囊写着当前正在编辑哪个场景,点开是一份可直接切换的清单:

✓ 标的是正在编辑的那个;右边的小字写「入口」或者「舞台在演」。作品运行时胶囊上会多
一句「· 运行中」。
清单最下面两项:「新建场景」新建一个场景并切换过去,「管理场景…」打开场景面板。场景面板是 一扇悬浮窗,可以拖动和改变大小,关闭后仍记住位置;积木栏「场景」分类里那颗「管理场景…」 按钮打开的是同一扇窗。
三档状态#
多场景里最重要的一点:「在画面上」和「在运行」是两件独立的事。
界面上的六种状态,由这三档加上暂停和线程数推出:
| 说法 | 什么时候 |
|---|---|
| 未加载 | 已卸载,只剩一份快照 |
| 加载中 | 正在装回内存,耗时数秒起 |
| 休眠 | 在内存里,但没有线程、不在舞台上 |
| 已暂停 | 在场,已暂停 |
| 运行中 | 在场,当前有线程在运行 |
| 就绪 | 在场,但一条线程也没有 |
卡片左上角那颗点表示的就是这个状态,鼠标停上去还会补一句线程数。「运行中」只在确实有线程 时才显示,线程数每一帧都在变化。
卡片上都有什么#

- 缩略图:离开这个场景之前抓取的最后一帧;一次都没抓到时显示名字的第一个字。已卸载的 场景仍沿用最后那一张。
- ⚑ 入口:绿旗从这个场景开始。
- 角标:「运行中」「已暂停」「已卸载」,其余状态由那颗点表示。
- 身份牌:「编辑中」「舞台」,两个身份都在同一张卡片上时合成一枚「编辑中 · 舞台」。
- 名字下面是「N 个角色」,跨场景角色单独算一句「+N 跨场景」,运行时再加一句 「N 条线程」。
- 右下角一排小键(悬停才浮出来):当前可用的那几个动作。只有「卸载」始终显示,它不可 点击时鼠标停上去会说明原因。
- 右上角的 ×:删除这个场景。只剩一个场景时不显示。
点一张卡片即切换到那个场景,舞台和编辑器一起切过去。拖动卡片可以排序。
运行、暂停、卸载#
卡片上的小键和右键菜单里的「运行 ›」是同一份名单,区别在于菜单会保留当前不可用的项 并置灰:

| 动作 | 意思 |
|---|---|
| 运行(后台) | 让它在场上运行,画面仍是前台那个场景 |
| 暂停 / 继续 | 暂停等于静音,不是挂起;恢复不续播 |
| 停止 | 线程、克隆体、声音、气泡全部清除;非前台场景一并收回休眠 |
| 卸载 | 释放它的纹理、解码后的音频和积木图 |
| 加载 | 把已卸载的场景装回内存,耗时数秒起,期间按钮转圈 |
「卸载」不可点击的四种原因,鼠标停上去会写出来:前台场景不能卸载,先切到别的场景 / 正在编辑它,先去别的场景编辑 / 入口场景不能卸载 / 此版本暂不支持。
面板顶上那行「正在运行 N · 线程 M · 已卸载 K」是整个作品的概览,右边的「卸载闲置场景」 一次卸掉所有闲置场景(休眠、不是前台、不是入口、没有任何线程)。
卸载省下的不是存盘的字节。 作品保存时,已卸载的场景连同它的资源一个都不会少;省下的 是内存里的纹理、解码后的音频和积木图。
后台运行的场景有几条明确的限制:不绘制画笔、不显示监视器、默认不接收键盘;所有在场的 场景共用同一份每帧预算,同时运行多个场景会互相拖慢。跨场景角色是全局单例,不受单个场景的 运行控制,暂停、停止、卸载任何场景都不影响它。
舞台画面与编辑目标是两回事#
作品运行后,积木一秒可以切换多次场景。编辑器若跟着切换,就无法继续编辑。所以这是 两个独立的概念:
| 谁能改变它 | |
|---|---|
| 前台(舞台画面、运行中的脚本、监视器) | 积木、绿旗、停止、手动切换、「显示到舞台」 |
| 编辑(角色列表、工作区、积木栏、造型 / 声音面板、顶栏胶囊) | 只有编辑器里的手动操作 |
右键菜单前四项正是按这个划分的:
| 菜单项 | 影响哪一边 |
|---|---|
| 切换到此场景 | 两边一起切换 |
| 在此编辑 | 只改变编辑器,舞台不动 |
| 显示到舞台 | 只切换舞台画面,不重新启动它,也不改变编辑器(要求那个场景已经在场上) |
| 从此场景开始运行 | 先停止,切换过去,然后从这里开始运行 |
休眠的场景同样可以编辑,编辑不要求它在场上。
两边不一致时,界面只提示一次、只给一条路径:卡片上那枚「编辑中 · 舞台」身份牌;顶栏胶囊 后面多出来的一枚「舞台:X」;角色面板左下角一条「舞台正在演「X」· 跟过去」;场景面板顶上 那行也会多一颗「舞台:X」。

点它可以把编辑器对齐到舞台正在演的那个场景。两边一致时,这几处不占任何位置。
积木栏里列出的变量是编辑场景的那一份,不是舞台在演的那个场景的;否则会在 A 场景里看到 B 场景的变量,还能用它拼积木。
正在编辑的角色不在这个场景里#
切换编辑场景时,角色的面板不关闭:布局树、分组、浮窗位置全都不变。这段时间面板里显示 一句说明和一个返回按钮:

按钮只把编辑器切过去,不改变舞台,因为作品可能正在运行别的场景。场景已被卸载时,文案 会标一句「(已卸载)」,按钮换成「加载并编辑」,装回内存需要几秒,期间转圈且不可点击。
增删改#
| 做什么 | 怎么做 |
|---|---|
| 新建 | 面板里那张「新建场景」卡片,或顶栏胶囊里的「新建场景」。名字按「场景2」「场景3」依次编号 |
| 改名 | 右键「重命名」,或者选中卡片按 F2 |
| 创建副本 | 右键「创建副本」,建完切到副本 |
| 排序 | 拖卡片,或右键「移动 › 前移 / 后移」,或 Alt + 方向键 |
| 设为入口 | 右键「设为入口场景」 |
| 删除 | 卡片右上角的 ×、右键「删除」,或选中卡片按 Delete |
删除前会先确认一次(说明它有几个角色,并写明这一步不能撤销),而且至少要保留一个场景。
场景的增删和复制没有撤销:它们改的是作品的结构,不在积木的撤销栈里。为了不让 Ctrl + Z
顺手撤掉别的东西,做完这类动作之后第一次按 Ctrl + Z 什么都不撤,只提示一句「删除场景
「第二关」不能撤销,再按一次撤销更早的编辑」;再按一次就照常往下撤。中间又改过积木的话,
Ctrl + Z 先撤那次改动,撤到这一步时才会看到提示。修改变量作用域也是这样。
导入和导出#
右键「导出为 .sb3」把一个场景整个存成文件。导出的是一个标准 sb3:这个场景的舞台就是作品 舞台,所以它既能再导回来,也能直接在 Scratch 里打开,一个场景本身就是一个小作品。 跨场景角色不在里面,它们属于整个作品,一起导出会在对方那里变成多余的副本。
导入有两条路:
- 面板里那张「导入场景」卡片:新建一个场景并装入,名字取文件名;
- 右键「用文件替换…」:替换这个场景的内容,名字、顺序、入口身份都保留。
绿旗从哪儿开始#
绿旗先切到入口场景再运行。按住 Shift 点绿旗即「从当前场景开始」,不切回入口
(按钮的提示写着「运行(Shift:从当前场景开始)」)。
变量和广播#
全局变量、列表、广播跨场景共享,不是复制,也不是同步,而是同一份数据。建变量时选 「仅本场景」的那种是真正私有的:切到别的场景,那个变量根本不存在,而不是变成 0。
建立之后还能修改:积木栏里右键那块变量,「修改变量作用域…」可在全局 / 仅本场景 / 仅本角色 三档之间切换,见变量和列表。
角色属于哪个场景#
一个角色可以只属于一个场景,可以有一份场景名单,也可以是跨场景角色(每个场景都在, 全局只有一份实例)。这些都在角色栏里操作,见 角色栏。
已知的边界#
- 旧编辑器只看得到入口场景,在旧编辑器里保存会丢掉其它场景。多场景作品点「保存到电脑」 时会先问一句,把入口场景和会丢掉的那几个点名写出来;场景面板顶上也常驻一行同样的说明。 只想把一个场景交出去的话,用卡片右键的「导出为 .sb3」。
- 播放器模式从入口场景开始,不记录「上次停在哪个场景」。
- 切换场景会重建工作区和积木栏,脚本里高频切换会拖慢编辑器。
- 切换时画笔层会清空、气泡消失;music / text2speech 自行管理的声音不会停止。
- 回到一个场景时,条件为真的边沿触发帽子积木会立即触发一次。