建立新的轉譯器
如要建立自訂轉譯器,您必須將 Renderer
設為子類別
類別詳情請參閱轉譯器概念文件
提供轉譯器定義內容及功能相關資訊。
class CustomRenderer extends Blockly.blockRendering.Renderer {
constructor() {
super();
}
}
如未自訂,預設轉譯器會如下所示:
您也可以將其他內建轉譯器設為子類別
並覆寫其中的某些部分
class CustomRenderer extends Blockly.thrasos.Renderer {
constructor() {
super();
}
}
將其他轉譯器元件設為子類別
區塊的實際形狀取決於
子元件。
根據預設,Renderer
類別會提供可運作的
所有轉譯器元件。這樣一來,您就可以修改
單一元件,而無須擔心其他元件。
舉例來說
變更連接形狀,您就能覆寫
常數,而不必觸碰其他元件。
詳情請參閱轉譯器元件說明文件
瞭解個別元件的功能
覆寫工廠方法
將轉譯器元件設為子類別後,您必須
覆寫您元件的 Renderer
工廠方法
子類別。這可讓轉譯器正確連接不同元件
。
每種元件都有方法:
註冊轉譯器
自訂轉譯器建立完成後
註冊。這會將轉譯器與字串建立關聯,讓您可以傳遞該字串
插入設定。
Blockly.blockRendering.register('custom_renderer', CustomRenderer);
const workspace = Blockly.inject(blocklyDiv, {
renderer: 'custom_renderer',
});
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2024-08-22 (世界標準時間)。
[null,null,["上次更新時間:2024-08-22 (世界標準時間)。"],[[["To create custom renderers in Blockly, you need to subclass the `Renderer` class and potentially its subcomponents like constants, render info, path objects, and drawers."],["Custom renderers allow you to change the visual appearance of blocks, including connection shapes and overall block structure, by overriding factory methods for specific components."],["After creating the custom renderer, register it with a unique string using `Blockly.blockRendering.register()` to use it within your workspace configuration."],["Before starting with custom renderers, it's recommended to review the renderer concept documentation and complete the custom renderers codelab for foundational knowledge."]]],[]]