カスタム ブロック ドラッグ戦略
コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
ブロックのドラッグ戦略は、ブロックがドラッグを処理する方法を決定するオブジェクトです。ブロックをドラッグ可能にするロジックを実装します。
新しいブロックのドラッグ戦略を作成すると、カスタム選択可能なオブジェクトの作成や選択の処理を行うことなく、ブロックがドラッグを処理する方法を切り替えることができます。
たとえば、ドラッグ時にブロックを重複させるのではなく、
正常にドラッグします。ブロックのドラッグ戦略を使用すると、このことができます。
ドラッグ戦略には、getRelativeToSurfaceXY
メソッドを除き、IDraggable
と同じメソッドがすべてあります。
実装
ドラァグ戦略を作成するには、
IDragStrategy
インターフェース。これには、ブロックですでに実装されている getRelativeToSurfaceXY
メソッドを除き、IDraggable
インターフェースと同じメソッドがすべて必要です。
詳細については、
ドラッグ可能関数を実装する手順を
ドラッグ戦略は実装しますが、getRelativeToSurfaceXY()
の実装はスキップします。
用途
カスタムのドラッグ戦略を使用するには、ブロックの各インスタンスにドラッグ戦略を適用する必要があります。これを行うには、ブロックの init
メソッドで次のようにします。
setDragStrategy
を呼び出しています。
Blockly.Blocks['my_block'] = {
init: function() {
// Other initialization...
this.setDragStrategy(new MyDragStrategy());
// Other initialization...
}
}
特に記載のない限り、このページのコンテンツはクリエイティブ・コモンズの表示 4.0 ライセンスにより使用許諾されます。コードサンプルは Apache 2.0 ライセンスにより使用許諾されます。詳しくは、Google Developers サイトのポリシーをご覧ください。Java は Oracle および関連会社の登録商標です。
最終更新日 2025-07-25 UTC。
[null,null,["最終更新日 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"],null,[]]