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:
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ę:
makeConstants_
makeRenderInfo_
makePathObject
(nie ma podkreślenia)makeDrawer_
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',
});