Stratégies personnalisées de déplacement des blocs
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Une stratégie de glisser-déposer de bloc est un objet qui détermine comment un bloc doit gérer les glisser-déposer. Ils implémentent la logique pour faire d'un bloc un élément déplaçable.
Créer de nouvelles stratégies de déplacement des blocs vous permet de modifier la façon dont les blocs doivent être gérés
sans avoir à créer un élément sélectionnable personnalisé ni à gérer
de votre choix.
Par exemple, vous pouvez choisir de dupliquer le bloc lors d'un déplacement,
en faisant glisser normalement. C'est possible grâce aux stratégies de déplacement de blocs.
Les stratégies de déplacement utilisent les mêmes méthodes qu'une IDraggable
,
en plus de la méthode getRelativeToSurfaceXY
.
Implémentation
Pour créer une stratégie de glisser-déposer, vous devez implémenter l'interface IDragStrategy
. Cela nécessite toutes les mêmes méthodes que l'interface IDraggable
, à l'exception de la méthode getRelativeToSurfaceXY
, que le bloc implémente déjà.
Vous pouvez suivre les
instructions pour implémenter un élément déplaçable vers
implémentez votre stratégie de déplacement, mais ignorez l'implémentation de getRelativeToSurfaceXY()
.
Utilisation
Pour utiliser une stratégie de déplacement personnalisée, vous devez l'appliquer à chaque
instance d'un bloc. Pour ce faire, dans la méthode init
de votre bloc, procédez comme suit :
Appel de setDragStrategy
en cours.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/05/23 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/05/23 (UTC)."],[[["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"]]