Utwórz nowy mechanizm renderowania

Aby utworzyć niestandardowy mechanizm renderowania, musisz przypisać klasę Renderer do podklasy zajęcia. Więcej informacji znajdziesz w dokumentach dotyczących koncepcji mechanizmu renderowania. na temat tego, czym jest mechanizm renderowania i do czego służy.

class CustomRenderer extends Blockly.blockRendering.Renderer {
  constructor() {
    super();
  }
}

Bez żadnych dostosowań domyślny mechanizm renderowania wygląda tak:

podstawowy mechanizm renderowania

Możesz też podklasyfikować jeden z pozostałych wbudowanych mechanizmów renderowania. i zastępować ich części.

class CustomRenderer extends Blockly.thrasos.Renderer {
  constructor() {
    super();
  }
}

Podklasa innych komponentów mechanizmu renderowania

Rzeczywisty kształt bryły zależy podkomponentów mechanizmu renderowania.

Domyślnie klasa Renderer udostępnia działające wersje tych funkcji wszystkich komponentów mechanizmu renderowania. Umożliwia to modyfikację jednego komponentu i nie martwić się o inne.

Jeśli chcesz na przykład zmień kształt połączeń, możesz zastąpić stałych bez dotykania innych komponentów.

Więcej informacji znajdziesz w dokumentacji komponentu renderującego. i informacje o tym, jak działa każdy z nich.

Zastąp metody fabryczne

Po podzieleniu komponentów mechanizmu renderowania na podklasy musisz wykonać zastąpią fabryczne metody Renderer w komponentach, podklasy. Dzięki temu mechanizm renderowania może prawidłowo łączyć różne komponenty. razem.

Dla każdego rodzaju komponentu można zastosować metodę:

Rejestrowanie mechanizmu renderowania

Po utworzeniu niestandardowego mechanizmu renderowania musisz: ją zarejestrować. Powiąże to mechanizm renderowania z ciągiem, dzięki czemu będzie można go przekazać do konfiguracji wstrzykiwania.

Blockly.blockRendering.register('custom_renderer', CustomRenderer);

const workspace = Blockly.inject(blocklyDiv, {
  renderer: 'custom_renderer',
});