Scratchは、視覚的にプログラムを作成できる教育向けのプログラミング環境です。その中でも「調べる」カテゴリの「マウスポインターまでの距離」を使うと、スプライトとマウスの距離を取得し、さまざまな動作に応用できます。今回は、基本的な使い方と、少し発展させた例を紹介します。
基本編:スプライトがマウスに近づくプログラム
このプログラムでは、スプライトがマウスポインターに向かって移動する基本的な動きを作成します。
プログラムの動作
- スプライトは常にマウスポインターの方向を向き、少しずつ近づく。
スクリプト
when green flag clicked
forever
point towards (mouse-pointer)
move (5) steps
end

解説
point towards (mouse-pointer)
:スプライトをマウスポインターの方向へ向ける。move (5) steps
:スプライトを前進させる。forever
ループを使い、マウスを追い続ける。
発展編:マウスとの距離に応じてスプライトの動きを変える
ここでは、「マウスポインターまでの距離」に応じてスプライトの移動速度を変化させます。マウスに近づくほどスピードが遅くなり、遠いほど速くなる動きを実装します。
プログラムの動作
- スプライトはマウスの方向に向かって移動。
- マウスとの距離が遠いと速く、近いと遅くなる。
スクリプト
when green flag clicked
forever
point towards (mouse-pointer)
set [speed v] to (distance to (mouse-pointer) / 10) // 距離に応じたスピード計算
move (speed) steps
end

解説
distance to (mouse-pointer)
でマウスとの距離を取得。set [speed v] to (distance to (mouse-pointer) / 10)
で速度を調整(距離が大きいほど速くなる)。move (speed) steps
で速度を適用して移動。forever
ループで常に動作を繰り返す。
まとめ
- 基本的な例では、スプライトが一定の速度でマウスを追いかける。
- 発展的な例では、マウスとの距離に応じてスピードが変化し、より自然な動きになる。
「マウスポインターまでの距離」は、ゲームやインタラクティブなアニメーションの制御にも役立つ機能です。ぜひ、いろいろな応用にチャレンジしてみてください!