Strategie personalizzate di trascinamento dei blocchi
Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Una strategia di trascinamento a blocchi è un oggetto che determina la modalità di gestione di un blocco
trascinamenti. Implementazione della logica per rendere un blocco trascinabile.
La creazione di nuove strategie di trascinamento dei blocchi ti consente di cambiare il modo in cui i blocchi devono gestire i trascinamenti senza dover creare un elemento selezionabile personalizzato o gestire la selezione.
Ad esempio, potresti voler creare un blocco duplicato durante il trascinamento, anziché
trascinandolo normalmente. Le strategie di trascinamento dei blocchi ti consentono di farlo.
Le strategie di trascinamento hanno gli stessi metodi di una IDraggable
,
oltre al metodo getRelativeToSurfaceXY
.
Implementazione
Per creare una strategia di trascinamento, devi implementare il metodo
IDragStrategy
. Questa operazione richiede gli stessi metodi
come l'interfaccia IDraggable
, tranne che per il metodo getRelativeToSurfaceXY
,
che il blocco implementa già.
Puoi seguire
istruzioni per implementare un elemento trascinabile in
implementare la strategia di trascinamento, ma saltando l'implementazione di getRelativeToSurfaceXY()
.
Utilizzo
Per utilizzare una strategia di trascinamento personalizzata, devi applicarla a ogni
istanza di un blocco. Puoi farlo nel metodo di blocco init
, ad esempio:
chiamata setDragStrategy
.
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-07-25 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 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"]]