नया रेंडरर बनाएं

पसंद के मुताबिक रेंडरर बनाने के लिए, आपको 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',
});