אסטרטגיות בלוקים מותאמות אישית לגרירה
קל לארגן דפים בעזרת אוספים
אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.
אסטרטגיה לגרירת בלוקים היא אובייקט שקובע איך בלוק צריך לטפל
היא גרירה. הם מטמיעים את הלוגיקה כדי להפוך בלוק לניתן לגרירה.
יצירת אסטרטגיות חדשות לגרירה של בלוקים מאפשרת לכם לשנות את האופן שבו בלוקים מטפלים בגרירה, בלי שתצטרכו ליצור רכיב בחירה מותאם אישית או לטפל בבחירה.
לדוגמה, אולי תרצו שהבלוק ישוכפל במהלך גרירה, ולא
וגרירה כרגיל. שיטות בידינג מסוג 'חסימת גרירה' מאפשרות לכם לעשות זאת.
לשיטות גרירה יש את כל השיטות של 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 (שעון 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"]]