こちらは、スクラッチの「調べる」ブロックの中にある「〇色が〇色に触れた」ブロックの使い方を、詳しく徹底解説しています!
「〇色が〇色に触れた」ブロック
「〇色が〇色に触れた」ブロックは、実行するスプライトの指定色が、もう一方の指定職に触れたらtrueを、そうでないときにfalseを返します。
「真(true)」か「偽(false)」で返すブロックを「真偽ブロック」といいます。
「真偽ブロック」は、六角形の形をしており、真(True)または、偽(False)のいずれかの「条件・状態」を持つブロックです。(Scratchのブロックの種類と役割について)
「〇色が〇色に触れた」ブロックの使い方
それでは、「〇色が〇色に触れた」ブロックの使い方を見ていきましょう。
こちらは、「Cat」スプライトと「Bat」スプライトがごっつんこするプログラムです。
最初に、「Cat」スプライトのスクリプトを見てみましょう。
まず、「緑の旗が押されたとき」ブロックを使って、緑の旗がクリックされたときに、その下のスクリプトを実行します。
こちらは、初期設定のスクリプトです。
「x座標を〇、y座標を〇にする」ブロックを使って、「Cat」スプライトの位置を指定しています。
こちらは、「ずっと」ブロックを使って、ずっと歩く処理をしています。
その中で、「〇色が〇色に触れた」ブロックを使って、「Cat」スプライトの色が「Bat」スプライトの色に触れたとき、「あいたっ!」と言い、「すべてを止める」ブロックでプログラムを止めています。
こちらは、「Bat」スプライトのスクリプトです。
こちらも「Cat」スプライトと同じようなプログラムとなっています。
「Bat」スプライトは、ごっつんこしたときにこけるので、それを戻すために「〇度に向ける」ブロックで初期化しています。
こちらも、「〇色が〇色に触れた」ブロックを使って、「Bat」スプライトの色が「Cat」スプライトの色に触れたとき、125度傾け、「あいたっ!」と言います。
実際に、緑の旗をクリックして、プログラムを実行してると、「Cat」スプライトが歩き出し、「Bat」スプライトの色に触れると、お互い「あいたっ!」といい、ごっつんこしました。
色指定の注意点
「〇色が〇色に触れた」ブロックを使う時は、必ず最初の色に実行するスプライトの色を指定する必要があります。
こちらは、今回のスクリプトですが、左が「Cat」スプライト」、右が「Bat」スプライトのスクリプトです。
よく見ると、色の指定はお互い逆になっていますよね。
どちらも最初の色は、自身のスプライトの色を指定します。
この指定をこちらのように逆に設定して、実行してみます。
すると、ごっつんこせずに、「Cat」スプライト」は過ぎていってしまいました。
これは、お互い条件を満たさなかったためです。
色の指定を間違えると、このように違う結果になりますので、注意しましょう。
調べるブロック一覧
「調べる」ブロックには、4個のハットブロックと5個の真偽ブロックと11個の値ブロックの計20個のブロックが用意されています。
ブロックの色は、水色で統一されています。
調べるブロック | 動作 |
---|---|
〇に触れた 指定した対象物に触れたらtrueを、そうでないときにfalseを返す |
|
〇色に触れた 指定した色に触れたらtrueを、そうでないときにfalseを返す |
|
〇色が〇色に触れた 実行するスプライトの指定色が、もう一方の指定職に触れたらtrueを、そうでないときにfalseを返す |
|
〇までの距離 実行するスプライトから指定した対象物までの距離の値を返す |
|
〇と聞いて待つ 指定したテキストを表示させ、画面下の入力ボックスの入力が完了するまで待つ |
|
答え 「〇と聞いて待つ」ブロックの入力した値を返す |
|
〇キーが押された 指定したキーが押されたらtrueを、そうでないときにfalseを返す |
|
マウスが押された マウスキーが押されたらtrueを、そうでないときにfalseを返す |
|
マウスのx座標 マウスのx座標の値を返す |
|
マウスのy座標 マウスのy座標の値を返す |
|
ドラッグ▢ようにする ドラッグモードを設定する |
|
音量 音量の値を返す |
|
タイマー Scratchが内部で管理しているタイマー値を返す |
|
タイマーをリセット タイマーの値を「0.0」に戻す(タイマーをリセット) |
|
〇の▢(ステージの背景#) 指定のスプライトやステージの指定の値を返す |
|
現在の▢(ローカルタイム) 現在(ローカルタイム)の指定した「年」「月」「日」「曜日」「分」「秒」を返す |
|
2000年からの日数 UTCの2000年1月1日午前0時0分0秒からの経過日数を返す |
|
ユーザー名 作品を閲覧しているユーザー名を返す |