กลยุทธ์การลากบล็อกที่กำหนดเอง
จัดทุกอย่างให้เป็นระเบียบอยู่เสมอด้วยคอลเล็กชัน
บันทึกและจัดหมวดหมู่เนื้อหาตามค่ากำหนดของคุณ
กลยุทธ์การลากบล็อกเป็นออบเจ็กต์ที่กำหนดวิธีจัดการการบล็อก
การลาก โดยใช้ตรรกะในการทําให้บล็อกลากได้
การสร้างกลยุทธ์การลากบล็อกใหม่ช่วยให้คุณเปลี่ยนวิธีที่บล็อกควรจัดการการลากได้โดยไม่ต้องสร้างรายการที่เลือกได้หรือจัดการการเลือกที่กำหนดเอง
เช่น คุณอาจต้องการให้บล็อกทำซ้ำเมื่อลาก แทนการลากตามปกติ กลยุทธ์แบบบล็อกการลากจะช่วยให้คุณทำเช่นนั้นได้
กลยุทธ์การลากมีวิธีการเหมือนกับ IDraggable
นอกเหนือจากเมธอด getRelativeToSurfaceXY
การใช้งาน
หากต้องการสร้างกลยุทธ์การลาก คุณต้องติดตั้งใช้งานอินเทอร์เฟซ IDragStrategy
การดำเนินการนี้ต้องใช้วิธีการเดียวกันทั้งหมด
เป็นอินเทอร์เฟซ IDraggable
ยกเว้นเมธอด getRelativeToSurfaceXY
ที่การบล็อกใช้ไปแล้ว
คุณสามารถทำตาม
วิธีการติดตั้งเครื่องมือที่ลากได้เพื่อ
ใช้กลยุทธ์การลาก แต่ข้ามการใช้ getRelativeToSurfaceXY()
การใช้งาน
หากต้องการใช้กลยุทธ์การลากที่กำหนดเอง คุณต้องใช้กลยุทธ์การลากกับ
อินสแตนซ์ของบล็อก ซึ่งคุณสามารถทำได้ในเมธอด init
ของการบล็อกโดย
กำลังโทรหา setDragStrategy
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
เนื้อหาของหน้าเว็บนี้ได้รับอนุญาตภายใต้ใบอนุญาตที่ต้องระบุที่มาของครีเอทีฟคอมมอนส์ 4.0 และตัวอย่างโค้ดได้รับอนุญาตภายใต้ใบอนุญาต Apache 2.0 เว้นแต่จะระบุไว้เป็นอย่างอื่น โปรดดูรายละเอียดที่นโยบายเว็บไซต์ Google Developers Java เป็นเครื่องหมายการค้าจดทะเบียนของ Oracle และ/หรือบริษัทในเครือ
อัปเดตล่าสุด 2025-07-25 UTC
[[["เข้าใจง่าย","easyToUnderstand","thumb-up"],["แก้ปัญหาของฉันได้","solvedMyProblem","thumb-up"],["อื่นๆ","otherUp","thumb-up"]],[["ไม่มีข้อมูลที่ฉันต้องการ","missingTheInformationINeed","thumb-down"],["ซับซ้อนเกินไป/มีหลายขั้นตอนมากเกินไป","tooComplicatedTooManySteps","thumb-down"],["ล้าสมัย","outOfDate","thumb-down"],["ปัญหาเกี่ยวกับการแปล","translationIssue","thumb-down"],["ตัวอย่าง/ปัญหาเกี่ยวกับโค้ด","samplesCodeIssue","thumb-down"],["อื่นๆ","otherDown","thumb-down"]],["อัปเดตล่าสุด 2025-07-25 UTC"],[],["Block drag strategies dictate how a block behaves during drags, allowing for custom drag behaviors like duplication. Developers implement the `IDragStrategy` interface, which mirrors `IDraggable` methods except for `getRelativeToSurfaceXY`. To apply a custom strategy, use the `setDragStrategy` method within a block's `init` method. This enables switching block drag behavior without altering core selection or drag handling. You must implement all the methods of `IDraggable` in the custom strategy except for `getRelativeToSurfaceXY`.\n"]]