Scratchには「調べる」カテゴリのブロックを使って、マウスやキーボードの情報を取得できる機能があります。今回は「マウスのY座標」を活用してスプライトを動かすプログラムを紹介します。
まずは基本的な動きから始め、次に発展したプログラムを作ってみましょう。
1. 基本編:マウスに追従するスプライト(縦方向)
まずはスプライトをマウスのY座標に合わせて動かすシンプルなプログラムを作成します。
スクリプト
when green flag clicked
forever
go to x: (0) y: (mouse y)
end

解説
- 「マウスのY座標 (
mouse y
)」を取得し、スプライトのY座標に設定します。 - X座標は
0
に固定しているので、スプライトは上下方向にのみ動きます。 forever
ループを使って、常にマウスの位置を追従します。
実行結果
- スプライトがマウスのY方向の動きに合わせて上下に移動します。
2. 発展編:ふわっとマウスを追いかけるスプライト
次に、スプライトがマウスのY座標に向かって徐々に移動する、より自然な動きのプログラムを作ります。
スクリプト
when green flag clicked
set [speed v] to (0)
forever
change [speed v] by ((mouse y) - (y position)) / 5
change y by (speed)
if <(abs of (speed)) < 0.5> then
set [speed v] to (0)
end
end

解説
speed
という変数を作成し、スプライトの移動速度を管理します。(mouse y) - (y position)
の差分を利用し、その値を5
で割ることで徐々にマウスの位置へ移動するようにします(慣性の再現)。speed
の絶対値が0.5
未満になったら0
にリセットし、スプライトがピタッと止まるようにします。
実行結果
- マウスのY座標に向かってスプライトが加速・減速しながら追従します。
- 直接座標を変更するのではなく、物理的な慣性を感じる滑らかな動きになります。
まとめ
- 基本編 では、マウスのY座標に合わせてスプライトを即座に移動させました。
- 発展編 では、慣性を加えることで、スプライトがふわっと移動する動きを作りました。
「マウスのY座標」は、縦スクロールのゲームやキャラクター操作などに活用できる便利な機能です。これを応用すれば、障害物を避けるゲームやシューティングゲームの操作などにも活用できます。ぜひ試してみてください!