حظر استراتيجية السحب

إستراتيجية سحب الكتل هي كائن يحدد كيفية تعامل الكتلة مع الدراغ. تستخدم هذه النماذج المنطق لجعل الكتلة قابلة للسحب. من خلال إنشاء استراتيجيات جديدة لسحب الكتل، يمكنك تغيير طريقة تعامل الكتل مع عمليات التسرّب بدون الحاجة إلى إنشاء خيارات مخصّصة يمكن اختيارها أو التعامل معها.

على سبيل المثال، قد ترغب في تكرار المقطع عند السحب، بدلاً من السحب بشكل طبيعي. تتيح لك استراتيجيات السحب الحظر تنفيذ ذلك.

تحتوي استراتيجيات السحب على جميع الطرق نفسها مثل IDraggable، إلى جانب طريقة getRelativeToSurfaceXY.

التنفيذ

لإنشاء استراتيجية سحب، عليك تنفيذ واجهة IDragStrategy. يتطلّب هذا الإجراء جميع الطرق نفسها المستخدَمة في واجهة IDraggable، باستثناء طريقة getRelativeToSurfaceXY التي سبق أن ينفِّذها الحظر.

يمكنك اتّباع تعليمات تنفيذ السحب القابلة للسحب لتنفيذ استراتيجية السحب، ولكن تخطَّ تنفيذ getRelativeToSurfaceXY().

الاستخدام

لاستخدام استراتيجية سحب مخصّصة، عليك تطبيق استراتيجية السحب على كل مثيل من عناصر المجموعة. يمكنك فعل ذلك في طريقة init الخاصة بالحظر، من خلال الاتصال بـ setDragStrategy.

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