إنّ استراتيجية سحب الكتلة هي كائن يحدّد كيفية تعامل الكتلة يسحب. وتنفّذ هذه الفِرق المنطق لجعل القطعة قابلة للسحب. يتيح لك إنشاء استراتيجيات جديدة لسحب الوحدات الأساسية تبديل كيفية تعامل الوحدات الأساسية مع عمليات سحب العناصر بدون الحاجة إلى التعامل مع إنشاء اختيار مخصّص أو التعامل مع عملية الاختيار.
على سبيل المثال، قد تريد تكرار العنصر عند سحبه بدلاً من سحقه بشكلٍ طبيعي. تتيح لك استراتيجيات السحب المحظورة إجراء ذلك.
تحتوي استراتيجيات السحب على جميع الطرق نفسها مثل IDraggable
،
إلى جانب طريقة getRelativeToSurfaceXY
.
التنفيذ
لإنشاء استراتيجية سحب، يجب تنفيذ
IDragStrategy
. يتطلب هذا الإجراء جميع الطرق
الواجهة IDraggable
، باستثناء طريقة getRelativeToSurfaceXY
،
يتم تطبيق الحظر عليه حاليًا.
يمكنك اتباع
تعليمات تنفيذ عنصر قابل للسحب إلى
تنفيذ استراتيجية السحب، ولكن مع تخطي تنفيذ getRelativeToSurfaceXY()
.
الاستخدام
لاستخدام استراتيجية سحب مخصّصة، عليك تطبيق استراتيجية السحب على كل
مثيل من المربّع. يمكنك إجراء ذلك باتّباع طريقة الحظر init
من خلال
جارٍ الاتصال بـ setDragStrategy
.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}