この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:6
ページ更新者:atom
更新日時:2026-06-10 11:03:32

タイトル: Scratch(スクラッチ)
SEOタイトル: Scratch (スクラッチ) 完全ガイド|MIT 発の子ども向けビジュアルプログラミング

この記事の要点
  • Scratch は MIT メディアラボが開発した子ども向けビジュアルプログラミング言語
  • ブラウザ scratch.mit.edu で無料利用。ブロックをドラッグ&ドロップで組み立て
  • 対象は8〜16 歳。5〜7 歳向けに ScratchJr(iPad/Android)も提供
  • 主要要素: スプライト / コスチューム / 背景 / スクリプト。ブロックはカテゴリ別 9 種
  • Scratch 3.0 (HTML5)。オフライン版 Scratch Desktop / 高機能版 TurboWarp も存在

Scratch とは

Scratch(スクラッチ)は、米国マサチューセッツ工科大学(MIT)メディアラボの Lifelong Kindergarten Group が 2007 年に公開した、子ども向けのビジュアルプログラミング言語です。難しい文法を覚える代わりに、ブロックを組み合わせてプログラムを作ることができ、世界中の小学校・プログラミング教室で標準的に使われています。

ブラウザだけで動き、登録不要で試せ、保存にはアカウントが必要です。日本語にも完全対応しており、文部科学省「小学校プログラミング教育の手引」でも代表的な学習ツールとして紹介されています。

始め方

環境URL / 入手用途
オンライン版scratch.mit.edu標準。ブラウザで動く
Scratch Desktopscratch.mit.edu/downloadオフラインで動かしたい教室
Scratch Link同上micro:bit / LEGO 等の連携用
ScratchJrApp Store / Google Play5〜7 歳向け(タブレット)
TurboWarpturbowarp.org高速版・上限緩和・コンパイル

画面の構成要素

要素説明
スプライト動かすキャラクター。デフォルトはネコ。複数配置可
コスチュームスプライトの見た目バリエーション。切り替えでアニメ表現
背景ステージの背景画像。シーン切替に使う
ステージ実行画面。480×360 px、中心が (0,0)
スクリプトブロックを縦に積み重ねたプログラム
SE / BGM。録音もOK

ブロックカテゴリ(Scratch 3.0)

カテゴリ主な機能
動き10 歩動かす、x/y 座標、角度回転
見た目こんにちはと言う、コスチューム切替、大きさ
ピンク音を鳴らす、音量、テンポ
イベント緑の旗が押されたとき、メッセージ送受信
制御オレンジ繰り返し、もし〜なら、待つ、複製、停止
調べる水色マウス位置、衝突判定、キー押下、タイマー
演算四則演算、比較、論理、乱数、文字列
変数濃オレンジ変数 / リスト(配列)
ブロック定義自作ブロック(関数)

最初のプログラム例: 矢印キーでネコを動かす

  1. イベント緑の旗が押されたとき」を置く
  2. 下に 制御ずっと」を繋ぐ
  3. 「ずっと」の中に 制御もし〜なら」を 4 つ入れ、それぞれに
     ・「右向き矢印が押された」→ x を 10 ずつ変える
     ・「左向き矢印が押された」→ x を -10 ずつ変える
     ・「上向き矢印が押された」→ y を 10 ずつ変える
     ・「下向き矢印が押された」→ y を -10 ずつ変える
  4. 緑の旗をクリックして実行

テキストで書くと何になるか(概念対応)

# Scratch のブロックは Python だとこんなイメージ

while True:                        # 「ずっと」
    if pressed('right arrow'):     # 「もし右向き矢印が押されたなら」
        sprite.x += 10             # 「x を 10 ずつ変える」
    if pressed('left arrow'):
        sprite.x -= 10
    if pressed('up arrow'):
        sprite.y += 10
    if pressed('down arrow'):
        sprite.y -= 10

典型的な学習ステップ

  1. 動かす: 緑の旗 → ずっと → 10 歩動かす → はしっこに着いたら、はね返る
  2. イベント: 矢印キー / スペースで動作
  3. 条件分岐: もし〜なら、もし〜でなければ
  4. 変数: 「スコア」「ライフ」を作って加減算
  5. メッセージ送受信: スプライト間通信
  6. 自作ブロック: 関数化、引数
  7. リスト: 配列、ランキング
  8. クローン: 弾を生成する系(シューティング)

ScratchJr との違い

項目ScratchScratchJr
対象年齢8〜16 歳5〜7 歳
プラットフォームWeb / デスクトップiPad / Android / Amazon Fire
UI文字ありブロック絵だけのブロック(読字前)
機能変数 / リスト / 自作関数あり無し
保存クラウド端末ローカル

TurboWarp(高機能版)

Scratch 3.0 は処理が重く、複雑なゲームは限界があります。TurboWarp は Scratch プロジェクトを JIT コンパイルする非公式互換ランタイムで、同じ .sb3 を読み込めます:

  • JavaScript に変換して10 倍以上高速
  • FPS / クローン数の上限を解放
  • HTML / EXE / Web ページにパッケージ化可能
  • 外部 URL 取得などの拡張機能

Scratch からの次の一歩

移行先特徴
Python文法が易しく学習用途で定番。Scratch から自然
JavaScriptブラウザでゲーム / Web 制作。Scratch のキャラ表現と相性◎
micro:bit / MakeCodeScratch 風ブロック + JavaScript。物理デバイス
Unity / Godot本格的ゲーム制作(中学生〜)
Processing / p5.jsビジュアル表現メイン

FAQ

Q: 何歳から始められる?
A: 読み書きができる 8 歳前後から。5〜7 歳はScratchJr。大人の入門にも十分使えます。

Q: 保存・共有は安全?
A: scratch.mit.edu のアカウントは本名禁止・年齢登録ありで子ども保護が徹底されています。公開プロジェクトはコミュニティガイドラインで管理。

Q: 学校で導入するときの注意
A: ネット接続が必要、またはScratch Desktopのオフライン版を配布。校内 LAN でscratch.mit.edu が許可リストに入っているか確認を。

Q: Scratch から Python に上手く繋げるには?
A: 同じ「変数」「繰り返し」「条件分岐」をテキストで書き直す体験が効果的。Scratch の作品を Python で再実装する課題が有効です。