サイトについて      連絡先   検索

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

はじめに

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

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

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

  • 目次
    • 調べるブロックとは
    • 条件を判定する
    • 値を取得する
    • 質問する
    • タイマー
    • その他

調べるブロックとは

sensing

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

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

touching-position

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

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

条件を判定する

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

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

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

  • 目次
    • 調べるブロックとは
    • 条件を判定する
    • 値を取得する
    • 質問する
    • タイマー
    • その他