استراتيجيات السحب المخصّصة للحظر
تنظيم صفحاتك في مجموعات
يمكنك حفظ المحتوى وتصنيفه حسب إعداداتك المفضّلة.
إنّ استراتيجية سحب الكتلة هي كائن يحدّد كيفية تعامل الكتلة
يسحب. وتنفّذ هذه الفِرق المنطق لجعل القطعة قابلة للسحب.
يتيح لك إنشاء استراتيجيات جديدة لسحب الوحدات الأساسية تبديل كيفية تعامل الوحدات الأساسية مع عمليات سحب العناصر بدون الحاجة إلى التعامل مع إنشاء اختيار مخصّص أو التعامل مع عملية الاختيار.
على سبيل المثال، قد تريد تكرار العنصر عند سحبه بدلاً من
سحقه بشكلٍ طبيعي. تتيح لك استراتيجيات السحب المحظورة إجراء ذلك.
تحتوي استراتيجيات السحب على جميع الطرق نفسها مثل IDraggable
،
إلى جانب طريقة getRelativeToSurfaceXY
.
التنفيذ
لإنشاء استراتيجية سحب، يجب تنفيذ
IDragStrategy
. يتطلب هذا الإجراء جميع الطرق
الواجهة IDraggable
، باستثناء طريقة getRelativeToSurfaceXY
،
يتم تطبيق الحظر عليه حاليًا.
يمكنك اتباع
تعليمات تنفيذ عنصر قابل للسحب إلى
تنفيذ استراتيجية السحب، ولكن مع تخطي تنفيذ getRelativeToSurfaceXY()
.
الاستخدام
لاستخدام استراتيجية سحب مخصّصة، عليك تطبيق استراتيجية السحب على كل
مثيل من المربّع. يمكنك إجراء ذلك باتّباع طريقة الحظر init
من خلال
جارٍ الاتصال بـ setDragStrategy
.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
إنّ محتوى هذه الصفحة مرخّص بموجب ترخيص Creative Commons Attribution 4.0 ما لم يُنصّ على خلاف ذلك، ونماذج الرموز مرخّصة بموجب ترخيص Apache 2.0. للاطّلاع على التفاصيل، يُرجى مراجعة سياسات موقع Google Developers. إنّ Java هي علامة تجارية مسجَّلة لشركة Oracle و/أو شركائها التابعين.
تاريخ التعديل الأخير: 2025-07-25 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","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 (حسب التوقيت العالمي المتفَّق عليه)"],[],["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"]]