ड्रैग रणनीति को ब्लॉक करें

ब्लॉक ड्रैग रणनीति एक ऑब्जेक्ट है, जो तय करता है कि ब्लॉक को ड्रैग कैसे हैंडल करनी चाहिए. वे किसी ब्लॉक को खींचने लायक बनाने के लिए लॉजिक लागू करते हैं. नई ब्लॉक ड्रैग रणनीतियां बनाने से आपको यह स्विच करने में मदद मिलती है कि ब्लॉक को ड्रैग को कैसे हैंडल करना चाहिए. इसके लिए, पसंद के मुताबिक चुने जा सकने वाले या चुने हुए विकल्प को हैंडल करने की ज़रूरत नहीं होनी चाहिए.

उदाहरण के लिए, हो सकता है कि आप अपने ब्लॉक को सामान्य रूप से खींचने के बजाय, ड्रैग करने पर डुप्लीकेट बनाना चाहें. 'खींचें और छोड़ें' रणनीतियों को ब्लॉक करें. इनसे ऐसा किया जा सकता है.

ड्रैग रणनीतियों में getRelativeToSurfaceXY वाले तरीके के अलावा, वे सभी तरीके होते हैं जो IDraggable में होते हैं.

लागू करने का तरीका

ड्रैग रणनीति बनाने के लिए, आपको IDragStrategy इंटरफ़ेस लागू करना होगा. इसके लिए, IDraggable इंटरफ़ेस वाले सभी तरीकों की ज़रूरत होती है. हालांकि, इसमें getRelativeToSurfaceXY वाला तरीका शामिल नहीं होता, जिसे ब्लॉक पहले से लागू करता है.

ड्रैग करने की अपनी रणनीति को लागू करने के लिए, ड्रैग किए जा सकने वाले को लागू करने के निर्देशों का पालन करें. हालांकि, getRelativeToSurfaceXY() को लागू करना छोड़ दें.

इस्तेमाल का तरीका

अपनी पसंद के हिसाब से ड्रैग करने की रणनीति का इस्तेमाल करने के लिए, आपको किसी ब्लॉक के हर इंस्टेंस पर 'खींचें और छोड़ें' रणनीति लागू करनी होगी. ऐसा करने के लिए, अपने ब्लॉक के init तरीके में setDragStrategy को कॉल करें.

Blockly.Blocks['my_block'] = {
  init: function() {
    // Other initialization...
    this.setDragStrategy(new MyDragStrategy());
    // Other initialization...
  }
}