Metrics Manager 會收集並回報與 Blockly 工作區相關的所有指標,本指南說明從 Metrics Manager 傳回的每組指標代表的意義。如要進一步瞭解 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 指標包含工作區父項 SVG 的 width
和 height
。在主要工作區中,這是包含 blocklySvg
類別的 SVG。這個 SVG 包含可見的工作區和工具箱。
查看指標
workspace.getMetricsManager().getViewMetrics(opt_getWorkspaceCoordinates);
檢視指標由可視區域的 height
、width
、top
和 left
組成。可視區域是工作區中可見的部分。這不包含任一類型的工具箱。
左上方是相對於工作區來源。當您拖曳工作區,就能更新可視區域的頂端和左側位置。
絕對指標
workspace.getMetricsManager().getAbsoluteMetrics();
絕對指標包含與 pareng SVG 可視區域的 top
和 left
偏移。根據工具方塊在工作區的位置而定,這通常是工具箱的寬度或高度。
內容指標
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 外掛程式中找到這類工具。