Niestandardowe strategie blokowania

Strategia przeciągania bloku to obiekt, który określa, jak blok powinien obsługiwać przeciąganie. Wdrożą logikę, aby blok był przesuwany. Tworzenie nowych strategii przeciągania bloków pozwala zmienić sposób obsługi przeciągania bloków bez konieczności tworzenia niestandardowych elementów do wyboru lub obsługi wyboru.

Na przykład możesz chcieć, aby blok powielał się podczas przeciągania, a nie jak zwykle się przeciąga. Możesz to osiągnąć dzięki strategiom przeciągania blokiem.

Strategie przeciągania mają te same metody co IDraggable, z wyjątkiem metody getRelativeToSurfaceXY.

Implementacja

Aby utworzyć strategię przeciągania, musisz zaimplementować komponent IDragStrategy. Wymaga to użycia tych samych metod co w przypadku interfejsu IDraggable, z wyjątkiem metody getRelativeToSurfaceXY, która jest już implementowana przez blok.

Aby zastosować strategię przeciągania, możesz wykonać instrukcje dotyczące implementacji elementu przeciąganego, ale pomiń implementację getRelativeToSurfaceXY().

Wykorzystanie

Aby użyć niestandardowej strategii przeciągania, musisz zastosować ją do każdego elementu wystąpienie bloku. Możesz to zrobić w metodzie init swojego bloku, przez Dzwonię pod numer setDragStrategy.

Blockly.Blocks['my_block'] = {
  init: function() {
    // Other initialization...
    this.setDragStrategy(new MyDragStrategy());
    // Other initialization...
  }
}