角色栏
「角色」面板是作品里所有角色的清单。它不是一排卡片,而是一棵可以展开的树:一行一个角色, 展开后可以看到这个角色的积木页、造型和声音。角色可以分文件夹,可以拖动排序,多场景作品里 还能指定一个角色出现在哪些场景。

上面是文件夹分组(「敌人」「UI」);多场景作品里,列表最下面还有「跨场景」一组。蓝色那行是 当前选中的角色。
打开方式#
默认布局里它在左边一栏。关闭之后从顶栏那排图标里的「角色」重新打开。
一行是什么#
最上面一行是「舞台」,它下面才是角色。每一行从左到右是:
| 位置 | 是什么 |
|---|---|
| 三角 | 展开这个角色,查看它包含的内容 |
| 缩略图 | 当前造型 |
| 名字 | 不含文件夹前缀的那一段 |
| 角标 | 只在多场景作品里出现,写着「全部场景」或「N 个场景」 |
| 右边灰字 | 当前造型的名字(模块显示「N 个积木页」) |
| 眼睛 | 显示 / 隐藏这个角色 |
| ⋮ | 和右键菜单是同一份 |
双击一行等于「在新面板打开」,为这个角色单独开一个工作区面板。
面板最下面是选中角色的属性行:

「角色」是名字,右边是显示 / 隐藏两个状态,下面是 x、y、大小、方向四个数字。
面板较窄时四个数字自动折成两行两列,不会被挤出面板。
四个数字有三种修改方式:
- 输入:点一格即全选,输入后按回车。回车之后仍停在这一格,继续改下一个数按 Tab。
- 上下箭头:
↑↓每次 ±1,按住Shift每次 ±10。 - 按住左右拖动:在标签(
x、大小这些字)上按住左右拖动,一像素一个单位;按住Shift变成五像素一个单位,用于细调。拖动过程中舞台上的角色实时跟随,中途按Esc恢复到按下之前的值。
输入无法识别的内容(空、只有空格、abc)时会退回原来的数值,边框闪一次红色,不会
静默写成 0。方向超过一圈(450)自动绕回(90),大小和坐标超出舞台允许的范围时
会被夹住,框里显示的一定是角色最终实际取到的那个数值。
按 Esc 放弃这一格尚未提交的修改;名字那一格同理,清空后离开会退回原来的名字。
方向转盘#
点「方向」那两个字,弹出转盘:

- 在盘面上按住旋转,角色实时跟随;按住
Shift吸附到 15° 的整格。 - 盘下面三颗按钮是旋转方式:任意旋转 / 左右翻转 / 不旋转,和积木「将旋转方式设为」 是同一个设置。
- 按
Esc关闭转盘并恢复到打开之前的方向,点别处关闭则保留当前方向。
展开一个角色#
点行首的三角,这个角色包含的内容就会列出来:

- 积木页:一个角色的脚本可以分成多页,每页放一部分。角色行本身就是第一页, 所以第一页不再单独列出;列出的是后来新建的那些。
- 造型 / 声音:每个角色都有这两个文件夹,它们不能移动也不能删除,但里面可以再建
文件夹。标题右边是条数,造型那一行还有一个
+可直接添加一张。
造型和声音的文件夹由名字里的 // 表示(背景//天空),所以存回 sb3 仍然是一个普通作品。
上传的位图按尺寸分三档处理,都按高清(2×)存:不超过舞台的(480×360)按最近邻放大一倍; 不超过舞台两倍的原文件原样入库,一个像素都不重编;更大的会问是否压缩:「压缩」平滑缩到舞台两倍 以内,「使用原图」原样入库。bmp 和 gif(取第一帧)会转成 png。
右键「造型」或「声音」这一行,列出所有添加方式:从库中选择造型 / 上传造型 / 随机一个造型 / 新建文件夹(声音那一行对应的是「声音」)。右键里面的文件夹给出同一批添加 方式,再加上新建子文件夹、重命名和删除;删除文件夹会连同里面的素材一起删除,删除前会 确认一次。
右键某一张造型或某一段声音:

| 菜单项 | 作用 |
|---|---|
| 打开 | 在造型编辑器 / 声音编辑器里打开它 |
| 复制 / 剪切 | 放进编辑器自己的剪贴板,见下面「剪贴板」 |
| 重命名 | |
| 创建副本 | 就地复制一份,新的一份与原来的互不相关 |
| 改为独立副本 | 只在这份素材被别的角色同时使用时出现,右边写着「共用 N 处」。分离之后在画板里修改它只影响这个角色 |
| 移动到文件夹… | 填一个文件夹名,留空表示放回最外层 |
| 删除 | 确认后删除 |
从系统里把图片或声音文件拖到「造型」「声音」这一行(或它里面的文件夹、某一条)上即为上传。 把一张造型从一个角色拖到另一个角色的造型文件夹里,是复制过去。
添加角色#
工具条右边四颗按钮,从左到右是「从库中选择角色」「上传角色」「随机一个角色」和蓝色的 「新建」。「新建」点开是一份完整的名单:

| 项 | 作用 |
|---|---|
| 从库中选择角色 | 打开 Scratch 素材库,见 素材库 |
| 上传角色 | 选本地的 .sprite3 文件或图片,可以一次选多个,见下面「上传角色」 |
| 画一个新角色 | 添加一个只有一张空白造型「造型1」的角色。它与「空白角色」的效果相同,也不会自动打开造型编辑器 |
| 随机一个角色 | 从素材库里随机挑一个 |
| 空白角色 | 同上 |
| 新建模块 | 见下面「模块」 |
角色的名字按 角色1、角色2 依次编号,取第一个未被占用的。
上传角色#
一个文件建一个角色:
.sprite3(和旧版的.sprite2):原样装进来。- 图片(png、jpg、gif、svg、bmp):用这张图新建一个角色,它是角色唯一的造型,旋转中心在图的 正中。位图按上传造型的同一套规则处理(2× 存储,太大的问是否压缩)。
- 其它文件会提示不支持,不建角色。
角色和造型都以文件名(去掉扩展名)命名;已经有同名角色时在后面加序号,猫 → 猫2。
把这些文件从系统里拖到角色列表的空白处或某个角色行上,效果与「上传角色」相同。
在角色列表的空白处右键也能开出同一份名单,外加一条「粘贴」——剪贴板里复制过角色时 才出现。
导出使用右键菜单的「导出」,存成 .sprite3。
文件夹#
文件夹就是角色名字里的两个斜杠。 名为 敌人//史莱姆 的角色,就是文件夹「敌人」里的
角色「史莱姆」;把它移进移出文件夹,实际执行的是改名。因此文件夹不需要文件格式的配合,
保存后重新打开依然存在。
这和 Gandi 2.0 的写法一样(UI//鼠标指针),作品拿回 2.0 打开文件夹仍然存在。早期 3.0
作品里单个 / 的名字也认,改一次名就变成 //。
文件夹行左边那颗小圆点的颜色由名字计算得出,同一个名字始终是同一个颜色,便于区分相邻的 两个文件夹。行尾数字是里面有几个角色。点一下展开或收起。
建文件夹有两条路径:把一个角色拖到另一个角色所在的文件夹里;或者右键「文件夹 › 移到文件夹…」,在弹出的框里填一个名字,没有这个文件夹时会新建一个。移出则用 「文件夹 › 移出文件夹」。
文件夹这一行自己也有菜单——右键,或者点行尾那颗 ⋮:
| 项 | 作用 |
|---|---|
| 重命名 | 里面每个角色的名字一起换前缀 |
| 解散文件夹 | 把里面的角色都移出来,文件夹随之消失 |
| 删除 | 连同里面的角色一起删(会先确认) |
没有「新建空文件夹」:文件夹只是名字里的斜杠,一个角色都没有的文件夹不存在。
拖放#
把一个角色拖到别的角色旁边即排序;落在文件夹里的角色旁边时,一并进入那个文件夹。 拖到文件夹行上即进入那个文件夹。拖到列表空白处即移出文件夹并排到最后。
从资源库里拖一个条目出来:落在角色行上,为这个角色添加一个引用(图片 进造型、声音进声音,一次可以拖多条);落在列表空白处,用那张图新建一个角色(声音不行, 一个角色至少要有一张造型)。
从系统里拖文件进来:落在展开后的「造型」或「声音」那一行(或它里面的文件夹、某一条)上, 是给这个角色上传造型或声音;落在列表空白处或角色行上,是用这些文件新建角色(见「上传角色」)。
搜索#
工具条最左边的输入框写着「搜索角色或积木页」,输入之后列表只留下匹配的行。
舞台那一行#
舞台不是另一种对象,它就是一个不能移动的角色,所以它那一行的用法和角色行一致:点它把 工作区切到舞台的脚本,展开可以看到它的背景和声音。右键菜单有这几项:

| 菜单项 | 作用 |
|---|---|
| 在新面板打开 | 双击的效果相同 |
| 新建积木页 / 新建文件夹 | 给舞台的脚本分页、分组 |
| 打开背景 / 打开声音 | 把那两个面板放到工作区旁边 |
| 上传背景 | 选本地图片 |
舞台没有「删除」,也没有位置和大小;面板底下那行属性只对角色有效,选中舞台时它 只显示背景和声音的数量。
剪贴板#
角色栏有一份独立的剪贴板,不使用系统剪贴板:里面存放的是一个角色、一张造型、一段
声音或者一页积木,其它程序无法读取。因此在造型编辑器里按一次 Ctrl + C 不会把它清空。
复制和剪切在右键菜单里,粘贴只出现在类型能接收的位置:

| 复制的是 | 能粘到哪儿 |
|---|---|
| 造型 | 任何角色的「造型」那一行或它下面的文件夹 |
| 声音 | 任何角色的「声音」那一行或它下面的文件夹 |
| 积木页 | 任何角色的「新建 ›」里 |
| 角色 | 任何角色的「新建 ›」里,或者舞台那一行的菜单里 |
菜单项上写着剪贴板里是什么,例如「粘贴「Apple」」。类型不匹配时不出现,一张造型无法粘贴 到声音里。
几点说明:
- 造型或声音粘贴到另一个角色时,两边用的是同一份素材(改一处两边都变);粘贴回同一个 角色则是新增一份。
- 剪切的实现是「先复制过去,原来那份再删除」,引擎本身没有「移动造型」这个操作。
- 一页积木粘贴给另一个角色时,脚本整页复制过去;对方没有同名的页时新建一页。
- 角色粘贴:它仍在当前场景里时等于「创建副本」;它在别的场景里(切换场景之后它处于休眠), 粘贴表示把它加入当前场景。
模块#
「新建模块」建立的是一种特殊角色:它只用来存放代码,在舞台上没有位置(VM 报告它的大小、 坐标、可见性都是空),而且只有模块能定义所有角色都可调用的积木。模块行上有一个 「模块」标签,没有造型和声音,右边灰字写的是它有几个积木页。
模块的身份在建立时确定,之后无法通过改名变成模块或取消模块身份。
角色属于哪些场景#
单场景作品里没有这一节,右键菜单里也不会出现与场景相关的项。
作品有了第二个场景之后,每个角色就多出一项设置:它出现在哪些场景。共三种:
- 单场景角色(默认):只属于它当前所在的那个场景。
- 只在部分场景出现:给它一份场景名单。
- 跨场景角色:每个场景都存在,而且全局只有一份实例,切换场景时它的位置、造型和 私有变量都不会被重置。
行尾那枚角标显示的就是这项设置(「全部场景」或「N 个场景」),点它直接打开名单对话框:

勾上「所有场景」即为跨场景,以后新建的场景同样包含;勾下面的清单则只在选中的那几个场景里 出现。左下角「只在当前场景」可一键退回单场景角色。
菜单里的那几项按角色当前的身份给出,全部在第一层:
| 角色当前是 | 菜单里给出 |
|---|---|
| 单场景 | 设为跨场景 / 在哪些场景出现… / 复制到场景 › / 移到场景 › |
| 部分场景 | 设为跨场景 / 在哪些场景出现… / 取消跨场景 |
| 全部场景 | 取消跨场景 / 只在部分场景出现… |

「复制到场景」和「移到场景」只对单场景角色(和模块)提供,跨场景角色本来就在那些场景里, 没有可复制的内容。
多场景作品的角色栏顶上会多一组「跨场景」,跨场景角色都排在那里,不进文件夹。这一组 为空时仍然显示,因为它同时是一个拖放落点:
- 把一个角色拖到「跨场景」这行标题上,或者拖到某个跨场景角色旁边,即设为跨场景;
- 把一个跨场景角色从这一组里拖到普通角色旁边、文件夹里或空白处,即变回单场景角色。
名单里不含当前场景的角色仍然列在这一组里(它在引擎里处于休眠:没有造型、没有线程)。 它的右键菜单只有四项:加入当前场景 / 设为跨场景 / 在哪些场景出现… / 删除。
舞台在演别的场景时#
编辑器正在编辑的场景和舞台正在演的场景可以不是同一个(作品运行时积木会切换场景)。这时 角色面板左下角多出一枚小条:

点「跟过去」可以把编辑器对齐到舞台正在演的那个场景。两者一致时这一条不占任何位置。