पसंद के मुताबिक रेंडरर बनाने के लिए, आपको Renderer
को सब-क्लास बनाना होगा
क्लास. ज़्यादा जानकारी के लिए, रेंडरर कॉन्सेप्ट के दस्तावेज़ देखें
रेंडरर क्या है और वह क्या करता है, इसके बारे में जानकारी.
class CustomRenderer extends Blockly.blockRendering.Renderer {
constructor() {
super();
}
}
पसंद के मुताबिक बनाए गए किसी भी तरह के बदलाव के बिना, डिफ़ॉल्ट रेंडरर ऐसा दिखता है:
किसी दूसरे पहले से मौजूद रेंडरर को सब-क्लास भी किया जा सकता है और फिर उसके कुछ हिस्से बदल देता है.
class CustomRenderer extends Blockly.thrasos.Renderer {
constructor() {
super();
}
}
रेंडरर के अन्य कॉम्पोनेंट को सब-क्लास करें
ब्लॉक का वास्तविक आकार रेंडरर के सबकॉम्पोनेंट को देख सकते हैं.
डिफ़ॉल्ट रूप से, Renderer
क्लास इसके काम करने वाले वर्शन उपलब्ध कराती है
सभी रेंडरर कॉम्पोनेंट को शामिल करना होगा. इससे आपको यह बदलाव करने की सुविधा मिलती है
एक कॉम्पोनेंट की मदद से, उसे दूसरों की चिंता करने की ज़रूरत नहीं होती.
उदाहरण के लिए, अगर आपको कनेक्शन के आकार बदलते हैं, तो आप दूसरे कॉम्पोनेंट को छुए बिना कॉन्सटेंट.
ज़्यादा जानकारी के लिए, रेंडरर कॉम्पोनेंट के दस्तावेज़ देखें इसके बाद यह जानकारी मिलेगी कि हर कॉम्पोनेंट क्या काम करता है.
फ़ैक्ट्री मेथड को बदलें
रेंडरर कॉम्पोनेंट को सब-क्लास में शामिल करने के बाद, आपको
यह सुविधा, कॉम्पोनेंट के लिए Renderer
की फ़ैक्ट्री सेटिंग को बदल देती है
सब-क्लास किया गया. इससे रेंडरर, अलग-अलग कॉम्पोनेंट को सही तरीके से जोड़ पाएगा
हैं बेमिसाल.
हर तरह के कॉम्पोनेंट के लिए एक तरीका होता है:
makeConstants_
makeRenderInfo_
makePathObject
(ध्यान दें कि कोई अंडरस्कोर नहीं होता)makeDrawer_
रेंडरर को रजिस्टर करें
आखिर में, अपना कस्टम रेंडरर बनाने के बाद, आपको उसे रजिस्टर करें. यह रेंडरर को स्ट्रिंग से जोड़ता है, ताकि आप उसे पास कर सकें इंजेक्शन कॉन्फ़िगरेशन में बदल दिया जाता है.
Blockly.blockRendering.register('custom_renderer', CustomRenderer);
const workspace = Blockly.inject(blocklyDiv, {
renderer: 'custom_renderer',
});