文档
官网 打开编辑器
文档/积木工作区

积木栏

积木栏是拖出积木的地方。与原版 Scratch 最大的不同是:全局只有一个,而且它是一个 面板,可以停靠、可以浮动、可以更换摆法、可以折起,也可以改成贴在每个工作区上。 里面放哪些积木、按什么顺序排列,同样可以修改。

积木栏面板

独立面板形态:左边一条分类条,右边是积木;左上角 «« 折起,左下角齿轮是设置。

两种形态#

设置(顶栏齿轮)里的「积木栏」这一条决定它的位置:

选项 形态
独立面板 全局只有一个,自己占停靠栏的一格,也可以拖成浮窗(默认)
内置在工作区 每个工作区面板自带一个,半透明覆盖在工作区一侧

独立面板就是上面那张图。它跟随「最后点击过的那个工作区」,面板标题里写着当前服务于 哪个角色(积木栏(角色1));在另一个角色的工作区里点一下,积木栏就换成那个角色的 造型、声音和变量。

内置时每个工作区自带一个,覆盖在工作区之上,下层的积木透过毛玻璃可见:

内置积木栏

内置的积木栏边上有 6px 的把手,拖动可改变宽度;宽度由所有工作区共用。几个数值:最窄 220px,最宽 640px,并且不超过工作区面板宽度的 55%。工作区面板窄于 520px 时自动折成 分类条,窄于 300px 时不再显示(那么小的窗口本来也放不下)。内置时积木栏固定在这个 面板的角色上,不跟随「最后点击过的工作区」。

内置折成分类条

内置模式靠哪一边由设置里的「内置积木栏位置」决定,与下面「摆法」里的靠左 / 靠右是同一项 设置,在任一处修改都可以。布局也保存这一份状态:切到「经典布局」是内置形态,切回 「默认布局」是独立面板。

折起来,和悬停揭开#

独立面板左上角那颗 «« 把积木栏折成只剩分类条:

折成分类条

折起之后鼠标移上去时积木列表会浮出,覆盖在旁边的面板上,不必先展开即可拖动:

折叠态悬停揭开

鼠标离开即收回。正在拖动积木时不会中途收起(否则正在拖动的那块会被截断)。

不需要它经过时自动弹出的,可以在设置 · 通用 · 编辑器里关掉「靠近自动展开」:之后折叠态 只响应 «« 那颗按钮,按一下展开,再按一下折回。触屏上点分类同样可以展开,因为触屏没有 悬停状态。

比面板宽的长积木#

积木栏是一条窄栏,扩展里不少长积木比它宽,右半截会被裁掉。鼠标放上去,长积木整块露出来, 铺到旁边的工作区上,移开就收回 —— 分类条在左和网格摆法都是这样,独立积木栏和内置在工作区里 的那条也一样。悬停前后积木栏本身的样子不变,只是不再裁掉伸出去的那一截。拖动照常,从积木栏 拖出一块积木之后再放上去也照样铺。

网格摆法里悬停,长积木整块露出来

分类条在右时不这样做:积木朝右长,越出去的是面板外边。那时看后半截靠横向滚动:触控板左右 滑动,或者按住 Shift 滚动滚轮(这一招在哪种摆法里都能用)。

右边被切掉
横着滚过去,右端就出来了

同一块「在 (1) 秒内滑行到 x: y:」,上图右边被面板边缘裁掉,下图横向滚动之后 右端显示出来。

滚到尽头就是那一段里最宽的那块积木的右端,不会滚进空白区域;纵向滚动到较窄的一段, 或者点另一个分类,横向位置自动回到最左。

可折叠分组#

一个扩展有四十多块积木时,积木栏会变成一条很长的列表。因此积木栏里的每一条标题都 可以折叠:分类自身那条(动作、外观、场景…),以及扩展写的分组标题,都可以点一下 收起。标题右边那个小三角表示当前是展开还是收起;标题长到三角放不下时不画三角,整行照样 可以点。

折起来的分组

「场景」这一类里,最常用的几块直接排在最上面,其余分成五节收起。

展开一节

展开「同时运行多个场景」之后,里面还可以再分小节(「运行与停止」),小节自身也可以 折叠。最多两层。

内置分类也分了节。原版就有的几组(动作的「坐标」,外观的「大小」「特效」,侦测的「鼠标」 「帧率」……)默认展开;开着原版增强时多出来的几组(「对话框」「拉伸」 「旋转」「更多循环」……)默认收起。

外观分类里的分节

几点说明:

  • 折叠由编辑器决定,不取决于扩展:扩展有没有写分组声明都可以折叠,第三方扩展不需要改动。
  • 折起的那一节的积木不会进入积木栏,几十块积木的渲染一并省去。
  • 折过的状态记在浏览器里(localStorage 的 gandi3.toolboxFolds),下次打开仍然是折起的。
  • 搜索基于未折叠的完整列表,折起的积木同样能搜到。

摆法:靠左 / 靠右 / 网格#

在积木栏设置的第一行里选:

摆法 什么样 什么时候用
靠左 分类在左,积木在右 Scratch 的原有形态
靠右 整体镜像,分类贴外侧 积木栏放在屏幕右边时
网格 分类横排在顶上,积木铺成多列,带搜索 又宽又矮的积木栏(贴底边,或者拉成窗口)
网格摆法

顶上一条是搜索栏和分类,积木区在它下面。积木按面板宽度自动分列,太宽的积木占多列,比整栏 还宽的悬停看全(见上面「比面板宽的长积木」)。积木栏设置那颗按钮在搜索栏右端,不压积木。 只有网格模式有搜索框。

分类多的时候#

装了很多扩展,分类条也不用滚:所有分类始终都在眼前,放不下时分类条自己收紧。

  • 网格摆法:分类是一排排带名字的胶囊,超过三行(或者占到积木栏六分之一高)就换成只有 图标的小格子,鼠标停在上面显示名字。
  • 靠左 / 靠右:竖条先收紧上下留白、字小一号;还放不下就只留图标(悬停显示名字),再放 不下就把图标排成两列,分类颜色画在图标下面。条宽不变,折起来的样子也不变。
分类多时网格摆法只留图标
分类多时竖条只留图标

窗口拉大、分类变少,又会退回带名字的样子。分类条在左时底下空出设置按钮的位置,最后一个分类 不会压在按钮底下。

搜索积木(网格模式)#

原版 Scratch 没有搜索,必须先知道一块积木属于哪一类。常用的那几块通常知道,但「当前时间 在哪一类」这种问题只能靠滚动查找,一个作品装上三十个扩展之后基本无法定位。

搜索框匹配的是积木上的文字(包含它默认填的值,所以「移动 10」能找到「移动 (10) 步」)、 积木栏里为它配好的下拉选项,以及 opcode(写扩展的人可以直接搜 motion_movesteps)。 拼音和首字母同样支持:

拼音搜索

输入 huaxing 可以找到两块「滑行」。右边写着找到几块,✕ 或 Esc 清空。

多个词用空格隔开,每个词都要命中,所以「滑行 秒」比「滑行」的范围更窄。匹配算法与 Ctrl + F 的全局搜索相同。

积木栏设置#

积木栏左下角那颗按钮(网格摆法在搜索栏右端)打开这一页。改动立即生效,没有「确定」按钮:积木栏就在旁边,它的 变化本身就是反馈。

积木栏设置

左边是分类,右边是选中那一类的积木,两边都可以拖动排序,也都可以点眼睛隐藏。

操作 结果
拖左边那一列 改分类在分类条上的顺序
拖右边那一列 改这一类里积木的顺序
点眼睛 隐藏这个分类 / 这块积木;分类名底下会写成「18 / 19 个」
点星标 把这块积木收进「常用」
恢复默认 全部还原成 Scratch 的默认排列

变量、列表和自制积木这几类的内容由作品决定(有几个变量、写了几块自制积木),所以它们 只能整体显示或隐藏,不能逐块排序,设置页里会直接说明这一点。变量和列表两类里,条目 还会按作用域分成几段(全局 / 本场景 / 本角色),见变量和列表; 自制积木按各自的分类分组,每组一条可折叠的小标题,见自制积木。

加过星标的积木会形成一个「常用」分类,带一颗星,排在分类条最前面:

常用分类

「常用」里放的是副本:收进常用的积木,在原来的分类里依然存在。

这些偏好存在浏览器里(gandi3.toolboxPrefs、gandi3.paletteLayout),属于这台机器, 不随作品保存。

细节#

  • 积木栏可以一直滚动到最底部,最后一块积木是完整的,可以拖出来:积木列表的高度正好 等于它的容器,不会多出一段够不到的区域。
  • 排序偏好按「这一类里第几块同名积木」记录名字。手动排过序的分类里,夹在积木中间的 分组标题会被丢弃,因为顺序已经被自定义,「下面这几块是一节」不再成立。
  • 从积木栏往任何方向拖动都能拖出积木(上下方向留给滚动),因为它是一个可以放在屏幕任何 位置的面板,不像原版始终贴在工作区左边。
  • 把积木拖回积木栏即为删除。

相关#