استراتژی کشیدن را مسدود کنید
استراتژی کشیدن بلوک، شیئی است که تعیین می کند یک بلوک چگونه باید درگ ها را مدیریت کند. آنها منطق را پیاده سازی می کنند تا یک بلوک قابل کشیدن باشد. ایجاد استراتژیهای کشیدن بلوک جدید به شما این امکان را میدهد تا نحوه مدیریت بلوکها را بدون نیاز به ایجاد یک انتخاب سفارشی یا مدیریت انتخاب تغییر دهید.
به عنوان مثال، ممکن است بخواهید به جای کشیدن به طور معمول، بلوک شما در هنگام کشیدن تکرار شود. استراتژی های کشیدن بلاک به شما این امکان را می دهد که این کار را انجام دهید.
استراتژیهای کشیدن، علاوه بر متد getRelativeToSurfaceXY
، همه روشهای مشابه IDraggable
را دارند.
پیاده سازی
برای ایجاد یک استراتژی کشیدن، باید رابط IDragStrategy
را پیاده سازی کنید. این به همه روشهای مشابه رابط IDraggable
نیاز دارد، به جز متد getRelativeToSurfaceXY
که بلوک قبلاً آن را پیادهسازی کرده است.
میتوانید دستورالعملهای اجرای یک draggable را برای پیادهسازی استراتژی کشیدن خود دنبال کنید، اما از اجرای getRelativeToSurfaceXY()
صرفنظر کنید.
استفاده
برای استفاده از یک استراتژی کشیدن سفارشی، باید استراتژی کشیدن را برای هر نمونه از یک بلوک اعمال کنید. می توانید این کار را در روش init
بلاک خود با فراخوانی setDragStrategy
انجام دهید.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
جز در مواردی که غیر از این ذکر شده باشد،محتوای این صفحه تحت مجوز Creative Commons Attribution 4.0 License است. نمونه کدها نیز دارای مجوز Apache 2.0 License است. برای اطلاع از جزئیات، به خطمشیهای سایت Google Developers مراجعه کنید. جاوا علامت تجاری ثبتشده Oracle و/یا شرکتهای وابسته به آن است.
تاریخ آخرین بهروزرسانی 2025-01-09 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-01-09 بهوقت ساعت هماهنگ جهانی."],[[["Block drag strategies dictate how blocks respond to drag events, offering an alternative to custom selectables."],["By implementing the `IDragStrategy` interface, developers can create custom drag behaviors like block duplication on drag."],["Drag strategies encompass the functionality of `IDraggable`, excluding the `getRelativeToSurfaceXY` method, which is handled internally by the block."],["Applying a custom drag strategy requires using `setDragStrategy` within the block's `init` method to associate the strategy with each block instance."]]],["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"]]