Scratchは視覚的にプログラムを作成できる初心者向けのプログラミング環境です。その中でも「調べる」カテゴリには、条件を判定するブロックがあり、ゲームやインタラクティブな作品を作る際に役立ちます。
本記事では、「(青)色が(赤)色に触れた」ブロックを活用したプログラムを基本編と発展編の2つの例で紹介します。
基本編:「壁に触れたら跳ね返る、りんごに触れたら・・・」
この基本例では、猫が赤い壁に触れると反対方向に跳ね返るようにします。Scratchでオブジェクト同士の接触を判定する基本的な方法を学びます。
プログラムの手順
- りんごのスプライトを準備。
- 「(青)色が(赤)色に触れた」ブロックを使って、壁にぶつかったら向きを変える、色にあたったらどこかへ行くをプログラミング。
スクリプト(ボール)
緑のはたが押された時
ずっと
10 歩動かす
もし端に触れたなら
跳ね返る
もし <(猫)色が(りんご)色に触れた> なら
どこかへ行く

解説
- 「端に触れたなら」ブロックで、画面の端に到達したときに反射します。
- 「(猫)色が(りんご)色に触れた」ブロックを使い、触れたらどこかに進むようにします。
発展編:「りんごにタッチするゲーム」
この発展例では、プレイヤーが矢印キーでボールを操作し、赤いりんごに触れるとゲームクリアのメッセージが表示されるようにします。
プログラムの手順
- りんごのスプライト(赤)を作成する。
- ねこを矢印キーで操作できるようにする。
- ねこがりんごに触れたら「クリア!」と表示する。
スクリプト(ボール)
緑の旗が押されたとき
ずっと
もし <上向き矢印キーが押された> なら
Y座標を 5 ずつ変える
もし <下向き矢印キーが押された> なら
Y座標を -5 ずつ変える
もし <右向き矢印キーが押された> なら
X座標を 5 ずつ変える
もし <左向き矢印キーが押された> なら
X座標を -5 ずつ変える
もし <(青)色が(赤)色に触れた> なら
「クリア!」と 2 秒言う
すべてを止める

解説
- 矢印キーの入力を受けて猫を動かします。
- 「(猫)色が(りんご)色に触れた」ブロックを使い、触れたら「クリア!」と表示します。
- 「すべてを止める」ブロックでゲームを終了させます。
まとめ
「(青)色が(赤)色に触れた」ブロックは、オブジェクト同士の接触を簡単に判定できるため、衝突判定やゴール判定などの処理に便利です。基本的な跳ね返りの処理から、ゲームのゴール判定まで、さまざまな使い方が可能です。
ぜひScratchで試してみてください!