更新日:、 作成日:

スクラッチ 調べるブロックの使い方

はじめに

Scratch (スクラッチ) 3 の調べるブロックの使い方を紹介します。

スプライトがマウスに触れたなど特別な条件を判定できます。

質問したりタイマーで時間を計ることもできます。

調べるブロックとは

sensing

調べるブロックでは、特別な条件を判定したり、スプライトやマウスや時間など、ほぼすべての値を取得できます。

次のような形をしたブロックが条件になります。条件は条件分岐のブロックと組み合わせて使用します。

touching-position

条件に一致すると true を、一致しないと false を返します。

true は「トゥルー」、false は「フォルス」と読みます。

条件分岐について詳しくは「もし~なら、条件分岐 if 文」をご覧ください。

条件を判定する

touching-position

このスプライトが、次の もの に触れているか判定します。

  • マウスのポインター:マウスと重なっていると true を返します。
  • :ステージの端に重なっていると true を返します。
  • スプライト:他のスプライトと重なっていると true を返します。

1 箇所でも触れている部分があるときは、条件に一致します。

39

指定したスプライトを見つけに行きます。

57

touching-color

このスプライトが、指定した に触れているか判定します。

背景の壁などに当たったか判定したいときなどに使います。色は他のスプライトや背景を指定できます。

色を指定するには [色] をクリックして [スポイト] アイコンをクリックします。

40

他のスプライトや背景などの判定したい [色] をクリックします。

41

その色を判定できるようになります。

42

1 箇所でもその色に触れている部分があるときは、条件に一致します。

43

A キーを入力して前に進みます。背景の壁にぶつかったら「ぶつかった」と言います。

58

color-touching

指定した 自身の色 が、指定した 相手の色 に触れているか判定します。

左側にこのスプライトの色を、右側に相手の色を指定します。このスプライトの指定した色の部分が、背景の壁などに当たったか判定したいときなどに使います。相手の色は他のスプライトや背景を指定できます。

自身の色に「黒」や「白」を指定したときは、ひげやほっぺが当たっているときに条件に一致します。「オレンジ」を指定したときは、足や体などが当たっているときに条件に一致します。

44

mouse-down

マウスがクリックされている状態か判定します。

マウスの左と右のどちらかが押されている間は条件に一致します。クリックする場所はどこでも反応します。

ずっと歩き続けます。マウスをクリックすると止まります。

45

key-pressed

次の キー が入力されている状態か判定します。

  • スペーススペース キーを入力したときに true を返します。
  • 矢印:指定した 矢印 キーを入力したときに true を返します。↑←↓→ のキーが矢印キーです。
  • どれかの:何でもいいのでキーを入力したときに true を返します。Ctrl などの修飾子キーや F1 などのファンクションキーなど一部のキーでは false を返します。
  • a ~ z:指定した A ~ Z キーを入力したときに true を返します。
  • 0 ~ 9:指定した 0 ~ 9 キーを入力したときに true を返します。

キーが押されている間は常に条件に一致します。

A キーを入力している間は歩き続けます。

46

値を取得する

値を取得するブロックには座標を取得するものがあります。

座標について詳しくは「動きブロックの使い方」をご覧ください。

mouse-x

マウスの x座標 を取得して、それをブロックの値に指定できます。

mouse-y

マウスの y座標 を取得して、それをブロックの値に指定できます。

マウスを左右に動かすと色が変化します。上下に動かすと透明になります。

47

distance-position

次の もの までの距離を取得して、それをブロックの値に指定できます。

  • マウスのポインター:マウスまでの距離を取得します。
  • スプライト:指定したスプライトまでの距離を取得します。

スプライトまでの距離とは、スプライトの座標と座標を結ぶ直線距離です。X:0,Y:0 と X:100,Y:0 なら 100 が取得されます。

48

スペースキーを入力したときに何か言います。指定したスプライトが近くにあると違うことを言います。

59

stage-backdrop

指定した ステージやスプライト から次の を取得して、それをブロックの値に指定できます。

  • ステージ
49
  • スプライト
50

他のスプライトやステージの値を取得したいときに使います。「背景 #」や「コスチューム #」は番号のことです。

質問する

ask-wait

指定した 質問 をします。答えが入力されるまで、次の処理が実行されません。

答えは 答え ブロックから取得できます。

質問されたら [答え] を入力して [チェックマーク] をクリックします。

52

answer

質問の 答え を取得して、それをブロックの値に指定できます。

答えはすべてのスプライトやステージで取得できます。

質問の答えが合っていたら「正解」、間違っていたら「ブー」と言います。

51

質問されたら [答え] を入力して [チェックマーク] をクリックします。

52

答えによって正解かどうかを表示できます。

53

タイマー

timer

タイマー の値を取得して、それをブロックの値に指定できます。

制限時間のような時間を計るのに使います。値は秒数で小数が付きます。プログラムを実行したときに 0 から始まります。

reset-timer

タイマー の値を 0 にします。

時間を計るときは最初にこれを実行すると、何秒経過したのかわかります。

3 秒間たったら表示する。

54

3 秒の間スプライトを回転させる。

55

1 秒ごとにコスチュームを変更する。

56

タイマーの値はすべてのスプライトやステージで共通です。どこかでリセットすると、すべてで 0 になります。

複数のタイマーを使うには「複数のタイマーを使用する」をご覧ください。

その他

set-drag-mode

マウスでドラッグして 移動 できるかできないかを指定します。

最初の状態は「できない」状態です。開発している画面では常に「できます」。全画面表示やプロジェクトページから実行したときに、ドラッグできるかできないかを切り替えます。

loudness

マイクが拾った 音量 を取得して、それをブロックの値に指定できます。

値の範囲は 0 ~ 100 です。0 が何も聞こえない状態です。マイクが使用できないときは -1 を取得します。

マイクを使用するにはパソコンにマイクを接続している必要があります。また Windows とブラウザの両方でマイクの使用を許可する必要があります。

音ブロックにも同じ名前の volume ブロックがあります。違いは次の通りです。

  • loudness:マイクが拾った音量です。
  • volume:スクラッチが再生する音の音量です。

大きな声を出すと、それだけスプライトが大きくなります。

60

current-year

次の 日時 を取得して、それをブロックの値に指定できます。

  • :今日の年を取得します。
  • :今日の月を取得します。
  • :今日の日を取得します。
  • 曜日:今日の曜日を数値で取得します。「日月火水木金土」の順に「1234567」の値を取得します。
  • :今の時を取得します。
  • :今の分を取得します。
  • :今の秒を取得します。

日時はパソコンの時計の値を取得します。

今日の日にちを言います。

61

days-2000

2000/1/1 から経過した 日時 を取得して、それをブロックの値に指定できます。

日数.時間 の形式で取得します。整数が日数です。小数が秒数です。小数はミリ秒が組み合わされています。

秒数は何を基準にしている値なのかわかりません。そのため日数のみ使用した方がいいと思います。

今日が 2019/1/2 以降なら「スクラッチ 3 がリリースされました」と言います。

62

6940 という数字が 2019/1/1 にあたります。

username

アカウントの 名前 を取得して、それをブロックの値に指定できます。

アカウントにサインインしていないときは、何も取得しません。