指标管理器会收集并报告与 Blockly 工作区。本指南介绍了每组指标的含义 指标管理器返回的值。如需详细了解 Metrics Manager 您还可以观看我们的 2021 年指标深入探究。
指标
工具箱指标
workspace.getMetricsManager().getToolboxMetrics();
工具箱指标由 height
、width
和 position
类别工具箱但这并不包括
添加到工具箱中。
工具箱的 position
类型为 Blockly.utils.toolbox.Position
。
飞出指标
workspace.getMetricsManager().getFlyoutMetrics();
浮出指标由 height
、width
和 position
浮出工具箱。需要注意的是,这并不是
。这仅适用于浮出工具箱,
如以下照片所示。
浮出控件的 position
的类型为 Blockly.utils.toolbox.Position
。
SVG 指标
workspace.getMetricsManager().getSvgMetrics();
SVG 指标由工作区父级的 width
和 height
组成
SVG。对于主工作区,这是包含 blocklySvg
类的 SVG。这个
SVG 包含可见的工作区和工具箱。
查看指标
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
视图指标由 height
、width
、top
和 left
视口。视口是工作区中可见的部分。这个
不包含这两种工具箱。
左上角相对于工作区原点。当我们拖动时 视口的顶部和左侧位置是 已更新。
绝对指标
workspace.getMetricsManager().getAbsoluteMetrics();
绝对指标由视口的 top
偏移量和 left
偏移量组成
Pareng SVG根据工具箱在
工作区,这通常是工具箱的宽度或高度。
内容指标
workspace.getMetricsManager().getContentMetrics(opt_getWorkspaceCoordinates);
内容指标由 height
、width
、top
和 left
组成
边框或工作区备注以外的区域。
滚动指标
workspace.getMetricsManager().getScrollMetrics(opt_getWorkspaceCoordinates);
滚动指标由 height
、width
、top
和 left
可滚动区域对于可移动工作区,可滚动区域就是
外加一些内边距。
坐标系
默认情况下,由 Metrics Manager 计算的所有指标都会以像素的形式返回
坐标。在适用情况下,您可以选择
将 true
传递给指标方法,即可实现工作区坐标。例如 metricsManager.getViewMetrics(true)
。
workspaceCoordinate = pixelCoordinates / workspace.scale
工作区坐标通常用于工作区中的各项内容, 例如区块和工作区备注工作区坐标不会更改 会随用户缩放而变化。
覆盖指标
希望自行提供工作区指标的开发者
可以注册一个替换指标管理器对象,
IMetricsManager
接口或扩展 Blockly.MetricsManager
。
相关示例可以在 Continuous Toolbox 插件或 Fixed Edges 插件中找到。