Scratchには、キャラクター(スプライト)が特定の色に触れたことを検知する「色に触れた」ブロックがあります。これは「調べる」カテゴリにあり、ゲームやシミュレーションなどで活用できます。本記事では、基本的な使い方と発展的なプログラムを紹介します。
1. 基本的なプログラム:キャラクターが壁にぶつかったら止まる
まずは「色に触れた」ブロックを使って、スプライトが特定の色の壁にぶつかると止まるプログラムを作ります。
スクリプト
1. [緑の旗が押されたとき]
2. (スプライトを初期位置に移動する)
3. (ずっと)
- (10歩動かす)
- (もし <色 [#FF0000] に触れた> なら)
- (動きを止める)

解説
#FF0000
の部分は、壁の色(赤)を指定。- 「10歩動かす」でスプライトが前進。
- 赤色の壁に触れたら、動きを止めることで壁を障害物として機能させる。
2. 発展プログラム:キャラクターが壁に当たったら方向を変える
次に、スプライトが壁に当たったら向きを変えて移動し続けるプログラムを作ります。
スクリプト
1. [緑の旗が押されたとき]
2. (スプライトを初期位置に移動する)
3. (ずっと)
- (10歩動かす)
- (もし <色 [#FF0000] に触れた> なら)
- (好きな角度に向きを変える (例: 右に90度回転))

解説
- 壁(赤色)に触れたら90度回転することで、キャラクターが進み続ける。
90度回転
の部分はランダムな角度
にすると、迷路のような動きを再現できる。
3. ゲーム応用:プレイヤーがゴールを目指す迷路
「色に触れた」ブロックを使って、プレイヤーがゴールを目指す簡単な迷路ゲームを作成します。
スクリプト
1. [緑の旗が押されたとき]
2. (スプライトを迷路のスタート位置に移動する)
3. (ずっと)
- (もし <上向き矢印キーが押された> なら)
- (向きを 0 度にして 5歩動かす)
- (もし <下向き矢印キーが押された> なら)
- (向きを 180 度にして 5歩動かす)
- (もし <右向き矢印キーが押された> なら)
- (向きを 90 度にして 5歩動かす)
- (もし <左向き矢印キーが押された> なら)
- (向きを -90 度にして 5歩動かす)
- (もし <色 [#FF0000] に触れた> なら)
- (位置(0,0)に戻す)
- (鍵をゲット!という 2秒)

解説
- 赤 (
#FF0000
) のりんごに触れると(0,0)位置に戻され、鍵をゲット。 - キーボードの矢印キーでスプライトを操作可能。
まとめ
「色に触れた」ブロックを使うことで、障害物やゴール判定を簡単に実装できます。最初は単純な動作から試し、応用として迷路ゲームのようなインタラクティブなプログラムを作ると、より楽しくScratchの学習ができます。