Scratchには「調べる」カテゴリにある 「ドラッグできるようにする」 という便利なブロックがあります。これはスプライトをマウスで掴んで動かせるようにする機能です。本記事では、このブロックを使った基本的なプログラムと、発展的な応用例を紹介します。
1. 基本編:スプライトをドラッグ可能にする
まずはシンプルな使い方として、スプライトをドラッグできるようにするプログラムを作成します。
スクリプト
when green flag clicked
enable draggable [this sprite v]

大きな画面【プレゼンモード】で動かしてください。

解説
enable draggable [this sprite v]
を使用すると、そのスプライトをマウスで自由に動かせるようになります。- これだけで、特別な処理を追加しなくてもスプライトをドラッグできます。
実行結果
- マウスでスプライトを掴んで自由に動かせるようになります。
2. 発展編:ドラッグ時に色が変わるスプライト
次に、「ドラッグできるようにする」を利用しつつ、スプライトをドラッグしているときだけ色を変えるプログラムを作成します。
スクリプト
when green flag clicked
enable draggable [this sprite v]
forever
if <mouse down?> then
set [color effect v] to (50)
else
set [color effect v] to (0)
end
end

大きな画面【プレゼンモード】で動かしてください。

解説
mouse down?
を使い、マウスがクリックされた状態かどうかを判定します。- クリックされている(=ドラッグされている)間は、スプライトの 「色の効果」 を50に変更し、視覚的な変化を加えます。
- クリックを離したら元の色に戻すことで、ドラッグ時のフィードバックを表現します。
実行結果
- スプライトをマウスでドラッグすると、色が変化します。
- クリックを離すと、元の色に戻ります。
まとめ
- 基本編 では、「ドラッグできるようにする」ブロックを使ってスプライトを簡単に動かせるようにしました。
- 発展編 では、ドラッグしているときにスプライトの色が変化するようにし、視覚的なフィードバックを加えました。
この機能は、UI要素を作る際や、ドラッグ&ドロップのゲーム、インタラクティブなアニメーションなど、さまざまな場面で活用できます。ぜひ試してみてください!