5.

Scratch スクリプト完全ガイド (初心者向け)

編集
この記事の要点
  • Scratch の 「スクリプト」は、ブロック(命令)を組み合わせて作るプログラムのこと
  • ブロックは色でカテゴリ分け: 動き / 見た目 / 音 / イベント / 制御 / 調べる / 演算 / 変数 / ブロック定義
  • 緑の旗が押されたときから始まる「イベントブロック」が、プログラムの開始トリガー
  • ブロックはドラッグ&ドロップで組み立てる。形が合うものだけがハマる
  • 変数 / メッセージ / ループ / 条件分岐を組み合わせれば本格的なゲームも作れる

スクリプトとは

Scratch のスクリプトは、レゴブロックのように命令ブロックを縦に積み上げて作るプログラムです。テキストでコードを書くのではなく、視覚的にブロックを組み合わせるため、文字入力やスペルミスを気にせずプログラミングの考え方に集中できます。

Scratch スクリプト - ブロックの組み合わせ

ブロックのカテゴリ

画面左に表示されるブロックパレットは、色で9 つのカテゴリに分けられています:

カテゴリ役割
動きスプライトの位置・向きを変える
見た目コスチューム切り替え / 大きさ / セリフ表示
ピンクサウンド再生 / 楽器演奏
イベントプログラムの開始トリガー(旗 / キー / クリック)
制御オレンジ繰り返し / 条件分岐 / 待機
調べる水色マウス位置 / 接触判定 / 質問
演算計算 / 比較 / 文字列操作 / 乱数
変数濃いオレンジ変数 / リスト作成と操作
ブロック定義独自ブロック作成(関数)

左下の 「拡張機能を追加」 から、ペン・音楽・テキスト読み上げ・翻訳・LEGO・micro:bit などの追加カテゴリも有効化できます。

ブロックの形と接続ルール

ブロックの上下の凹凸を見ると、何がつながるか分かります:

  • 帽子型(上が丸い): イベントブロック。プログラムの開始トリガー。上には何もつなげない
  • 長方形(上下に凹凸): 命令ブロック。スタックの途中に入れる
  • C 字型(中に挟む): 制御ブロック(ループ / 条件分岐)
  • 六角形: 真偽値(条件)。「もし〇〇なら」の〇〇に入れる
  • 丸型: 値(数値・文字)。空欄に入れる
  • キャップ型(下が平ら): 終端ブロック(「すべてを止める」など)。下には何もつなげない

最小サンプル: 緑の旗で猫が動く

  • 緑の旗が押されたとき(イベント)
  •  x 座標を -200 にする
  •  ずっと(制御)
  •   10 歩動かす
  •   もし <端に着いた> なら(制御)
  •    跳ね返る

緑の旗をクリックすると、猫がステージの左端から右へ進み続け、端に当たると反転します。

イベントブロックの種類

イベント発動タイミング
🚩 旗が押されたときプロジェクト開始時
スペースキーが押されたとき指定キーを押した瞬間
このスプライトが押されたときスプライトをクリック / タップ
背景が ◯◯ になったとき背景の切り替え時
音量 > 10 のときマイク入力など
メッセージ ◯◯ を受け取ったとき他スプライトからのメッセージ
このスプライトのクローンができたときクローン生成時(クローン専用)

制御ブロックの代表例

  • 1 秒待つ: 指定秒だけ停止
  • 10 回繰り返す: 中のブロックを 10 回実行
  • ずっと: 無限ループ
  • もし〜なら / でなければ: 条件分岐
  • 〜まで待つ: 条件が成立するまで停止
  • 〜まで繰り返す: 条件が成立するまでループ
  • すべてを止める / このスクリプトを止める: 強制停止

変数を使う

変数カテゴリで 「変数を作る」 をクリックして名前を入力します(例: score)。チェックを入れるとステージに表示されます。

  • score を 0 にする: 初期化
  • score を 1 ずつ変える: スコア加算
  • もし <score = 10> なら → 「クリア!」と言う

リストを使うと配列のようなデータも扱えます。ハイスコアの記録、敵キャラの一覧管理などに便利です。

メッセージで連携する

複数のスプライトを連携させる中核機能がメッセージです:

例: ボタンを押すと音楽が鳴り、キャラが踊り出す

  • 【ボタン側】このスプライトが押されたとき「ダンス開始」を送る
  • 【音楽側】「ダンス開始」を受け取ったとき → 音楽を再生する
  • 【キャラ側】「ダンス開始」を受け取ったとき → コスチュームを切り替えながら踊る

1 つのメッセージ送信に対し、複数のスプライトが同時に反応できます。

独自ブロック(関数)を作る

「ブロック定義」カテゴリ → 「ブロックを作る」 で、自作のブロック(≒ 関数)を定義できます。同じ処理を何度も書く代わりに、独自ブロックでまとめると見通しが良くなります。

例: ジャンプする ブロックを定義 → 中身に「y 座標を 50 ずつ変える」「0.2 秒待つ」「y 座標を -50 ずつ変える」を入れる。あとは ジャンプする を呼ぶだけで一連の動作が実行される。

典型的なゲーム構造

機能ブロックの組み合わせ
プレイヤー操作イベント「キー押下」+ 動き「x/y 座標変える」
当たり判定制御「もし」+ 調べる「〇〇に触れた」
スコア管理変数「score」+ 演算 + 見た目「言う」
敵の自動移動制御「ずっと」+ 動き「歩く / 跳ね返る」
ゲームオーバー制御「もし」+ 制御「すべてを止める」
サウンドエフェクト音「終わるまで〇〇の音を鳴らす」

FAQ

Q: ブロックがどうしても繋がらない
A: 形が合っていません。帽子型の下にしか命令ブロックは付かない、六角形は条件用の穴に入れる、など形のルールを確認してください。

Q: スクリプトが動かない
A: ① 緑の旗で始まっているか確認 ② 該当スプライトのスクリプトタブを見ているか ③ ループが止まる条件があるか。

Q: ブロックを削除したい
A: ブロックをパレット側にドラッグするか、右クリック → ブロックの削除。または Delete キー。

Q: 同じスクリプトを別スプライトでも使いたい
A: スクリプトをドラッグして、左のスプライト一覧の対象スプライトの上にドロップするとコピーされます。

編集
Post Share
子ページ

子ページはありません

同階層のページ
  1. Scratchのはじめかた
  2. 言語(げんご)の変え方
  3. チュートリアル
  4. スプライト
  5. スクリプト
  6. 背景(はいけい)の変え方
  7. アカウントの作り方
  8. 作品の公開方法

最近更新/作成されたページ