舞台上的监视器
监视器是画在舞台上的读数:一个变量现在是几、列表里装了什么、角色的 x 坐标是多少。它不是 积木,也不是编辑器的设置,而是跟着作品走:摆在哪里、是什么样子都存在作品文件里,别人打开 还是那样。

四种样子一次看全:「分数」是滑杆,「生命」是大字,「角色1: 速度」是普通读数,「背包」是列表。
打开和关掉#
能上舞台的那些报告器积木,在积木栏里前面带一个小方框:变量、列表,还有「x 坐标」「方向」 「音量」「计时器」「按下鼠标?」「鼠标的 x 坐标」这一类。勾上,舞台上就多一个读数。

带下拉的报告器,每个选项是一个单独的读数。「按下鼠标 [右键]?」勾上之后把下拉换成左键, 方框变回空的,再勾一次,舞台上就是两个读数:「按下鼠标右键?」和「按下鼠标左键?」。方框 勾没勾,看的是当前选中的那一项。
关掉有三条路,都是同一个开关:
- 再点一次那个方框;
- 在监视器上右键选「隐藏」,积木栏里的勾随之取消;
- 脚本里的「显示变量」「隐藏变量」积木。点一下工作区里那块「隐藏变量」,读数消失,方框 也跟着取消勾选。
角色自己的变量(建的时候选「仅本角色」的那种)读数上带角色名前缀,写成 角色1: 速度;
舞台上的变量不带前缀。
值那块胶囊的颜色跟着积木类别走:动作是蓝的、侦测是青的、变量是橙的。列表监视器的行用列表
自己的橙红(#ff661a),和列表积木一个颜色。
摆放位置#
按住监视器直接拖。位置被限制在舞台之内,拖不出去;一旦拖出舞台就再也拖不回来。松手 时位置按舞台格数记下来(480 × 360 的坐标系,原点在左上角,四舍五入到整数)。
从来没摆过的监视器由编辑器自动排列:从左上角 (5, 5) 开始一个挨一个往下排,一列排满就
往右另起一列。
三种显示样式#
在一个变量监视器上右键:

| 菜单项 | 作用 |
|---|---|
| 正常显示 | 名字 + 值,默认 |
| 大字显示 | 只剩一块大号的值,不画名字 |
| 滑杆 | 正常显示底下加一条滑杆,拖它直接改这个变量 |
| 改变滑杆范围 | 见下一节 |
| 隐藏 | 取消这个读数 |
当前是哪一档,那一条前面画一个勾。菜单和编辑器别处的右键菜单是同一张卡片:上下键移动、
Enter 选中、Esc 或者点到外面关闭。
只有变量有滑杆。 x 坐标、音量、计时器这些是读数,写不回去,所以它们的菜单里只有 「正常显示」「大字显示」「隐藏」三条。列表没有大字显示,也没有滑杆,换来的是导入和导出。

导入 / 导出是一行一项的纯文本(.txt)。导出按列表名存盘;导入整个换掉列表的内容,
三种换行都认,末尾那个空行不会变成一个空项。和 Scratch 的格式一样,两边的文件可以互相用。
滑杆是真的在改变量,和脚本里「将 [分数] 设为 …」是同一件事,作品运行时同样生效。
滑杆范围#

默认 0 到 100。两个数都是整数时滑杆按 1 走,只要有一个是小数就按 0.01 走,所以填
-5 到 5.5 会落到小数档。最小值必须小于最大值,否则点「确定」没有反应。
列表监视器#

顶上是列表名,中间是行(装不下时自行滚动),底下一条是「+」、长度,以及右下角改大小的那 个角。
| 想做 | 怎么做 |
|---|---|
| 改一项 | 点那一行,就地改;Enter 或者点到别处提交,Esc 放弃 |
| 加一项 | 左下角「+」,加在末尾并直接进编辑状态 |
| 删一项 | 点那一行,右边出现 ×,点它;或者清空内容再按一次 Backspace |
| 改大小 | 拖右下角那个把手,最小 80 × 60(舞台格) |
| 整个换掉 | 右键「导入」,挑一个一行一项的 .txt |
| 拿出去 | 右键「导出」,存成一行一项的 .txt |
改完直接写进列表本身:舞台上改和脚本里改动的是同一份数据。空列表画一行「(空)」,长度 写 0。
位置怎么存、和舞台缩放的关系#
监视器画在画布上方的一层里,这一层按舞台格数绘制(480 × 360),再整体缩放到舞台此刻 显示的大小。因此:
- 把舞台面板拉大拉小,监视器跟着一起放大缩小,摆的位置不变;
- 全屏时也一样,只是倍数大得多(1920 × 1200 的窗口里量到 3.2 倍);
- 改「舞台有多大」(格数)时,运行时会把每个监视器平移半个差值,让它相对舞台中心的 位置不变:480 → 640 时 x 从 115 变成 195,改回来又变回 115;
- 超出舞台的部分被裁掉。
位置、显示样式、滑杆范围、列表的宽高、显示与否,全部存进作品(.sb3 的 monitors 段),
不是编辑器的偏好设置。
层级上,扩展往舞台上加的覆盖层压在监视器下面,切场景的淡入淡出画面和「询问并等待」的 输入框压在监视器上面,见舞台和扩展 API。
多场景#
监视器的状态是整个作品一份,但只有前台场景的读数画得出来:
- 角色自己的变量:那个角色不在前台场景,就不画;
- 「仅本场景」的舞台变量:换个场景就不画。
勾选状态保留,切回那个场景之后,读数仍在原来的位置上。见场景。