Scratch ブロックの解説
ブロックの詳しい解説です。オリジナルプログラムを作るときの参考にしてね。
動き
スプライトを前後に動かす
スプライトを時計回りに回す
スプライトを反時計回りに回す
スプライトを指定された方向に向ける
0 の場合は上、90 の場合は右、180 の場合は下、-90 の場合は左スプライトをマウスポインタや他のスプライトの方向に向ける
スプライトを、ステージ上の指定されたX、Y 座標に移動する
スプライトを、マウスポインタや他のスプライトの場所に移動する
スプライトを、指定された場所へ指定された時間でなめらかに移動する
スプライトの X 座標を指定された数ずつ変更する
スプライトの X 座標を指定された値に設定する
スプライトの Y 座標を指定された数ずつ変更する
スプライトの Y 座標を指定された値に設定するステージの端についたとき、スプライトを反対方向に向ける
スプライトの X 座標を示す（-240 から 240 までの間）
スプライトの Y 座標を示す（-180 から 180 までの間）

1

スプライトの向きを示す0 の場合は上、90 の場合は右、180 の場合は下、-90 の場合は左
見た目スプライトの見た目を、異なるコスチュームに切り替える
スプライトのコスチュームを、コスチュームリストの次のものに変える（次がリストの最後だった場合、最初に戻る）
スプライトのふきだしを、指定された時間だけ表示する
スプライトのふきだしを表示する（空のテキストを持つブロックを実行すると、ふきだしは消える）
スプライトの考えごとのふきだしを、指定された時間だけ表示する
スプライトの考えごとのふきだしを表示
する
スプライトの表示効果を指定された量だけ変更する（プルダウンメニューを使って効果を選択する）
視覚効果を指定された数に設定する
ほとんどの視覚効果の範囲は 0 から 100である
すべての視覚効果をスプライトから消去する
スプライトの大きさを指定された値ずつ変更する
スプライトを、もとの大きさの指定された割合に設定する
スプライトの大きさを、もとの大きさとの割合で表示する
スプライトをステージ上に出現させる

2

スプライトをステージ上から消す。隠れているとき、他のスプライトは「触れた」ブロックで、このスプライトを見つけられないスプライトを、他のすべてのスプライトの手前に移動するスプライトを、指定されたレイヤーの数だけ奥に移動する。これにより、スプライトは他のスプライトの背後に隠れる音
プルダウンメニューで選択された音を再生し、音を鳴らしたまま、すぐ次のブロックに処理を進める
音を再生し、音が終わるまで待ってから次のブロックへ進む
プルダウンメニューで選択したドラムの音を、指定された拍子で鳴らす音符（数値が大きいほど音程が高い）を指定された拍子で鳴らす
スプライトが音符を鳴らすブロックを実行するときに使う楽器を設定する（すべてのスプライトは、独立した楽器を持つ）
すべてのスプライトのすべてのスクリプ
トの実行を止めるペン
ステージから、すべてのペンの跡とスタンプを消す
スプライトのペンを下ろし、移動したとき線がひけるようにする
スプライトのペンを上げ、移動したとき線が引けないようにする
色を選択するツールで、ペンの色を設定する
ペンの色を指定された量ずつ変更する

3ペンの色を指定された値に設定する（ペンの色 0 は虹色パレットの赤色の端、100は青色の端）
ペンの濃さを指定された量ずつ変更する
ペンの濃さを指定された値に設定する（ペンの濃さ 0 は一番濃く、100 は一番薄い）
ペンの太さを指定された値ずつ変更する
ペンの太さを指定された値に設定する
スプライトの画像をステージ上にスタンプする
制御
緑の旗がクリックされたときに、下に続くスクリプトを実行する
指定されたキーが押されたときに、下に続くスクリプトを実行する
スプライトがクリックされたときに、下続くスクリプトを実行する
指定された秒数だけ待ち、その後で次のブロックの実行を続ける
中に入っているブロックを永遠に繰り返して実行する
中に入っているブロックを指定された回数だけ実行するすべてのスプライトに指定された処理を起動するメッセージを送り、すべてのスプライトの実行が終わるまで待ってから、次のブロックの実行を続ける
すべてのスプライトに指定された処理を起動するメッセージを送り、すべてのスプライトの実行が終わるのを待たずに次のブロックの実行を続ける

4

指定されたメッセージが送られたときに、下に続くスクリプトを実行する
条件が心かどうかを確認し、真である限
り、中に入っているブロックを実行する
条件が真のとき、中に入っているブロックを実行する
条件が真のときは「もし なら」の方に入っているブロックを実行し、偽だったときは「でなければ」の方に入っているブロックを実行する
条件が真になるまで待ち、真になったときに下に続くブロックを実行する
条件が偽かどうかを確認し、偽だった場合には中に入っているブロックを実行して、また条件を確認する。条件が真になったとき、このブロックの下に続くブロックを実行する
スクリプトの実行を止める
すべてのスプライトのすべてのスクリプ
トの実行を止める調べる
マウスポインタの X 座標を示す
マウスポインタの Y 座標を示す
マウスポインタが押されたとき、真になる指定されたキーが押されたとき、真になるスプライトが、指定されたスプライトやステージの端、またはマウスポインタに触れたときに真になる（プルダウンメニューから選ぶ）スプライトが、指定された色に触れたときに真になる（色の部分をクリックすると出てくるスポイトを使って色を選ぶ）

5

１番目の色（スプライトに含まれている色）が、２番目の色（背景や別のスプライト）に触れたときに真になる。
色の部分をクリックすると出てくるスポイトを使って色を選ぶ指定されたスプライトかマウスポインタからの距離を示す
タイマーを０に設定する
タイマーの値を秒で示す（タイマーはいつも動いている）
コンピュータのマイクが捕らえた音量（1から 100 までの間）を示す
コンピュータのマイクが 30 以上の音量（スケールは 1 から 100 まで）をとらえたときに真になる指定されたセンサーの値を示す指定されたセンサーが押されたときに真になる演算
２つの数を足す1 番目の数から 2 番目の数を引く
2 つ目の数をかける
1 つ目の数を 2 つめの数で割る指定された範囲の中から無造作に整数を取り出す
1 つ目の数が、2 つ目の数より小さいとき
真になる
2 つの数が同じとき真になる
1 つ目の数が、2 つ目の数より大きいとき真になる2 つの条件が両方とも真のとき真になる2 つの条件のどちらかが真のとき真になる

6

条件が偽のときに真になる。反対に、条件が真のとき偽になる。
指定された数の絶対値を示す
1 番目の数を 2 番目の数で割った余りを示す指定された数に最も近い整数を示す
変数
新しい名前で変数を作る。変数を作ったとき、3 つのブロックが自動的に作られる。
（以下を参照）。その変数をすべてのスプライトで使えるか（グローバル）、1 つのスプライトだけで使えるか（ローカル）を選べる。
変数に関連づけられた 3 つのブロックをすべて消す
変数を指定された量ずつ変更する
変数を指定された値に設定する
変数の値を示す

7

応用編
変数をつくる① コマンドグループパレットの「変数」をクリックします。
② ブロックパレット一番上の「新しい変数を作る」をクリックします。
③ 変数名につけたい変数名を入力し（この場合は Timer）、「OK」をクリックします。
すると図 3 のように変数が作成されます。

①②

図 1 変数をつくる①＜次のページへつづきます＞

8

③

図 2 変数をつくる②

図 3 変数をつくる③9

カウントダウンタイマーをつくる①変数をつくるの➀～③で変数「Timer」を作成します。

② 作成された変数のブロックとコマンドグループパレット「制御」のブロックを図 2 のように組み合わせると、カウントダウンタイマーを作成することができます。
③ カウントダウンを始めたい数字（秒数）を入力します。
（この場合 60 秒とします）④ 『Timer を○ずつ変える』のブロックに変化させたい間隔の数字を入力します。
通常は『1』です。これを『-1』に変更することでカウントダウンが可能になります。
逆に『1』のままだと『60』から 1 ずつカウントアップされます。

③④⑤
図 4 カウントダウンタイマーをつくる⑤ 赤で囲まれた『1 秒待つ』というブロックを入れると、1 秒ずつカウントダウンされるようになります。これで 1 分間のカウントダウンタイマーができます。

10点数表示のしくみをつくる
・バナナに触れたらスコアを 1 ずつ増やすプログラム、によって説明します。

触れたら増やす！

図 5 点数表示のしくみをつくる①・バナナのスプリクト①

変数をつくるの➀～③で変数「score」を作成します。

② 作成された変数のブロックとコマンドグループパレット「制御」、「動き」、「調べる」の各ブロックを図 4 のように組み合わせます。
③ score を『0』にします。ここに入れたものスタート時点の数字となります。
④ 『□色に触れたら』のブロックの□の部分を赤色（スケルトンの関節の色）にします。
⑤ score を１ずつ変えるとします。（一度触れるたびに 1 ずつ増えます。）
以上で、点数を表示するプログラムの完成です。

③④⑤
図 6 点数表示のしくみをつくる②

11

流れる風景をつくる
図 5 のように、風景が流れていくように見えるプログラムの作り方です。

雲が流れていくよ！

図 7 流れる風景の例
Scratch の座標は図 6 のようになっています。

図 8 ステージの座標＜次のページへつづきます＞
12

・動くもの（図 7 では「雲」のスプライト）のスクリプト① コマンドグループパレット「制御」のブロックと「動き」のブロックと「演算」のブロックを図 5 のように組み合わせます。
② 動いていく分の座標を入力します。
（この場合５ずつ変わっていきます）
この場合「x 座標」を変えて横に動くようにしていますが「y 座標」にすると縦に動かすこともできます。
③ 折り返したい座標（この場合画面の一番端（座標２５０））にスプライトが流れると④ 戻したい位置に戻るように値を入れる（この場合元の位置に戻すのでー240）②③

図 9 流れる風景をつくる

13④

実行の条件をつくる
・「実行（緑の旗）がクリックされた時」以外のタイミングでプログラムを実行したい場合
例えばサンプルゲームの「Kinect Ball Barance Game」（ピンボール）ではゲームが起動するタイミングが「実行（緑の旗）がクリックされた時」ではなく、「スクリプト（棒）が画面の端に触れたら」ボールが動くようにプログラムが作成してあります。

図 10 実行の条件をつくる①① コマンドグループパレットの「制御」をクリックします。
② ブロックパレットの「～を送る」のブロックの▼をクリックすると「新規…」と表示されるので「新規…」クリックします。
③ メッセージを入力します。
（自分が実行したいプログラムに関連した言葉にしたらプログラムを作成するときにわかりやすいです。例：プログラムの実行の時→game_on）④ メッセージを送りたいタイミングの場所に「～を送る」のブロックを組み込みます。
（「～を送る」のブロックの▼をクリックするとメッセージが選択できます。
）⑤ コマンドグループパレットの「制御」をクリックします。
⑥ ブロックパレットの「～を受け取った時」の下に、メッセージを受け取った時に実行したいプログラムを作成しましょう。

②④
図 11 実行の条件を作る②14例：サンプルゲームの Kinect Ball Barance Game の場合
図 7 は棒のスクリプトの一部、図 8 はボールのスクリプトの一部です。
※「Kinect Ball Barance Game」ではゲームを起動時には「game_on」という変数が「0」、起動時には「1」になるように設定してあります。
⑦ 図 7 の棒のスクリプトを見ると、「もしボールが端に触れたなら」「game on を送る」とブロックが作成してあります。

⑦

図 12 実行の条件をつくる③⑧ 図 8 のボールのスクリプトを見ると最初が「game on を受け取った時」になっています。つまり「game on を受け取った時」から下のブロックは「棒が端に触れて game onが送られた」時に初めて実行され、ボールが動くように設定してあります。

⑧

図 13 実行の条件をつくる④15

スケルトンセンサーの値見取り図
スケルトンのセンサーはこのように対応しています。

16