กลยุทธ์การบล็อกการลาก

กลยุทธ์การลากบล็อกเป็นออบเจ็กต์ที่กำหนดวิธีจัดการการบล็อกบล็อก โดยใช้ตรรกะเพื่อทำให้เป็นบล็อกที่ลากได้ การสร้างกลยุทธ์การลากบล็อกแบบใหม่จะช่วยให้คุณเปลี่ยนวิธีจัดการกับการลากของบล็อกได้โดยที่ไม่ต้องจัดการกับการสร้างการเลือกที่กำหนดเองได้หรือจัดการการเลือก

เช่น คุณอาจต้องการให้การบล็อกซ้ำกันเมื่อลาก แทนการลากตามปกติ กลยุทธ์การบล็อกการลากจะช่วยให้คุณทำเช่นนั้นได้

กลยุทธ์การลากมีวิธีเหมือนกับ IDraggable ทั้งหมด นอกเหนือจากเมธอด getRelativeToSurfaceXY

การใช้งาน

หากต้องการสร้างกลยุทธ์การลาก คุณต้องใช้อินเทอร์เฟซ IDragStrategy ซึ่งต้องใช้เมธอดเดียวกันกับอินเทอร์เฟซ IDraggable ทั้งหมด ยกเว้นเมธอด getRelativeToSurfaceXY ที่บล็อกใช้อยู่แล้ว

คุณสามารถทำตามคำแนะนำในการใช้รูปแบบที่ลากได้เพื่อใช้กลยุทธ์การลาก แต่ข้ามการใช้ getRelativeToSurfaceXY()

การใช้งาน

หากต้องการใช้กลยุทธ์การลากที่กำหนดเอง คุณต้องใช้กลยุทธ์การลากกับอินสแตนซ์แต่ละรายการของบล็อก ซึ่งทำได้ในเมธอด init ของการบล็อก โดยโทรไปที่ setDragStrategy

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