กลยุทธ์การลากบล็อกเป็นออบเจ็กต์ที่กำหนดวิธีจัดการการบล็อกบล็อก โดยใช้ตรรกะเพื่อทำให้เป็นบล็อกที่ลากได้ การสร้างกลยุทธ์การลากบล็อกแบบใหม่จะช่วยให้คุณเปลี่ยนวิธีจัดการกับการลากของบล็อกได้โดยที่ไม่ต้องจัดการกับการสร้างการเลือกที่กำหนดเองได้หรือจัดการการเลือก
เช่น คุณอาจต้องการให้การบล็อกซ้ำกันเมื่อลาก แทนการลากตามปกติ กลยุทธ์การบล็อกการลากจะช่วยให้คุณทำเช่นนั้นได้
กลยุทธ์การลากมีวิธีเหมือนกับ IDraggable
ทั้งหมด
นอกเหนือจากเมธอด getRelativeToSurfaceXY
การใช้งาน
หากต้องการสร้างกลยุทธ์การลาก คุณต้องใช้อินเทอร์เฟซ IDragStrategy
ซึ่งต้องใช้เมธอดเดียวกันกับอินเทอร์เฟซ IDraggable
ทั้งหมด ยกเว้นเมธอด getRelativeToSurfaceXY
ที่บล็อกใช้อยู่แล้ว
คุณสามารถทำตามคำแนะนำในการใช้รูปแบบที่ลากได้เพื่อใช้กลยุทธ์การลาก แต่ข้ามการใช้ getRelativeToSurfaceXY()
การใช้งาน
หากต้องการใช้กลยุทธ์การลากที่กำหนดเอง คุณต้องใช้กลยุทธ์การลากกับอินสแตนซ์แต่ละรายการของบล็อก ซึ่งทำได้ในเมธอด init
ของการบล็อก โดยโทรไปที่ setDragStrategy
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}