ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
| この記事の要点 |
|
Scratch とは
Scratch(スクラッチ)は MIT メディアラボの Lifelong Kindergarten グループが開発した、8〜16 歳向けのビジュアルプログラミング環境です(より低年齢向けには Scratch Jr もあり)。コードを文字で書く代わりに、パズルのようなブロックをドラッグして組み合わせることでプログラムを作ります。世界中で 1 億人以上のユーザが登録し、教育現場でも広く採用されています。
| 項目 | 内容 |
|---|---|
| 開発元 | MIT メディアラボ Lifelong Kindergarten |
| 初版 | 2007 年(Scratch 1.0) |
| 現行 | Scratch 3.0(2019 年〜、HTML5 ベース) |
| 動作環境 | ブラウザ(PC / Chromebook / iPad)+ オフラインエディタ |
| 料金 | 完全無料・OSS |
| 言語 | 70+ 言語に翻訳(日本語対応) |
| 主な対象年齢 | 8〜16 歳(Scratch Jr は 5〜7 歳) |
始め方: アカウント作成と画面構成
- ブラウザで https://scratch.mit.edu/ を開く
- 右上の「作る」をクリックすると即エディタが開く(ログインなしで OK)
- 保存・共有したい場合は「Scratch に参加しよう」でアカウント作成(メール必要)
エディタの 4 つのエリア:
| エリア | 役割 |
|---|---|
| ブロックパレット(左) | 使えるブロックの一覧(カテゴリ別タブ) |
| スクリプトエリア(中央) | ブロックを並べてプログラムを組む場所 |
| ステージ(右上) | 実行結果が表示される画面(緑の旗で実行) |
| スプライトリスト(右下) | キャラクター(スプライト)と背景の一覧 |
中心概念
| 概念 | 説明 |
|---|---|
| スプライト | 動かせるキャラ。初期はネコ。複数配置可能 |
| コスチューム | 1 つのスプライトが持つ複数の絵。切替えで「歩く」アニメ等を表現 |
| 背景 | ステージの絵。シーン切替えに使う |
| ブロック | 命令を表すパズルピース |
| スクリプト | ブロックを連結した「プログラム」 |
| 変数 / リスト | 値を保存する箱 |
| メッセージ | スプライト間で連絡する仕組み(broadcast) |
ブロックの 9 カテゴリ
| カテゴリ | 色 | 代表ブロック |
|---|---|---|
| 動き | 青 | 10 歩動かす / x 座標を 0 にする / 〜度回す |
| 見た目 | 紫 | こんにちは と 言う / 大きさを 100% にする / コスチュームを変える |
| 音 | ピンク | ニャーの音を鳴らす / 音量を 100% にする |
| イベント | 黄 | 緑の旗が押されたとき / スプライトがクリックされたとき |
| 制御 | オレンジ | 10 回繰り返す / ずっと / もし〜なら / 〜まで待つ |
| 調べる | 水色 | マウスのポインターに触れた / x 座標 |
| 演算 | 緑 | + / × / 乱数 / 等しい / かつ / 文字列結合 |
| 変数 | 濃いオレンジ | スコア を 1 ずつ変える |
| ブロック定義 | 赤 | 独自ブロック(関数)を作る |
拡張機能として ペン / 音楽 / ビデオセンサー / 音声合成 / 翻訳 / micro:bit / LEGO WeDo 等も追加可能(左下の「拡張機能を追加」ボタン)。
最初の作品: ネコを動かす
定番のステップを 1 つずつ:
ステップ 1: 旗を押したら右に進む
┌─────────────────────────┐
│ 緑の旗が押されたとき │ (イベント)
├─────────────────────────┤
│ 10 歩動かす │ (動き)
└─────────────────────────┘
→ 緑の旗をクリック。ネコが少しだけ右に動く。
ステップ 2: ずっと歩く
┌─────────────────────────┐
│ 緑の旗が押されたとき │
├─────────────────────────┤
│ ずっと │ (制御 = ループ)
│ 10 歩動かす │
│ 1 秒待つ │
└─────────────────────────┘
→ ネコが 1 秒ごとに歩く。
ステップ 3: 端に着いたら向きを変える
┌─────────────────────────────────┐
│ 緑の旗が押されたとき │
├─────────────────────────────────┤
│ ずっと │
│ 10 歩動かす │
│ もし 端に触れた なら │ (制御 + 調べる)
│ 180 度回す │
│ コスチュームを次にする │ (見た目)
│ 0.1 秒待つ │
└─────────────────────────────────┘
→ 行ったり来たり、コスチューム切替えで歩いて見える。
ステップ 4: クリックしたらニャー
┌─────────────────────────┐
│ このスプライトが │
│ クリックされたとき │ (イベント)
├─────────────────────────┤
│ ニャーの音を鳴らす │ (音)
│ ニャー と 2 秒言う │ (見た目)
└─────────────────────────┘
変数とスコア
ゲームの基本「スコア」を作るには:
- 左下「変数」カテゴリ → 「変数を作る」
- 名前を「スコア」にして OK
- 「スコア を 0 にする」を旗の下に置く
- イベント時に「スコア を 1 ずつ変える」を呼ぶ
- ステージにチェックを入れるとスコアが常時表示される
メッセージ(broadcast)でスプライト間通信
[ネコのスクリプト]
旗が押されたとき
10 回繰り返す
10 歩動かす
「ゴール」を送る ← メッセージ送信
[宝箱のスクリプト]
「ゴール」を受け取ったとき ← メッセージ受信
コスチュームを「開く」にする
「クリア!」 と 2 秒言う
共有とリミックス
Scratch の特徴は強力なコミュニティ機能:
- 共有: 完成した作品を世界中に公開できる
- リミックス: 他人の作品を改造して新作にできる(GitHub の fork 相当)
- 中を見る: 公開作品はすべて中身(ブロック)を見られる → 学習の宝庫
- スタジオ: 作品をテーマ別にまとめるグループ機能
- コメント: 他のユーザにフィードバック
Scratch Jr との違い
| 項目 | Scratch | Scratch Jr |
|---|---|---|
| 対象年齢 | 8〜16 歳 | 5〜7 歳 |
| 動作環境 | ブラウザ + PC アプリ | iPad / Android / Chromebook アプリのみ |
| ブロック表示 | 日本語テキスト付き | 絵文字のみ(読み書きできなくても使える) |
| 変数 | あり | なし |
| 関数定義 | あり | なし |
| 共有機能 | オンライン公開可 | ローカル保存のみ |
他のビジュアルプログラミング環境との比較
| 環境 | 特徴 | 主な対象 |
|---|---|---|
| Scratch | 2D ゲーム / アニメに強い | 初学者全般 |
| Scratch Jr | 幼児向け超シンプル | 5〜7 歳 |
| MakeCode (micro:bit) | マイコン制御 + JS / Python 切替え可 | 中学生・電子工作 |
| MakeCode Arcade | レトロゲーム特化 | 中高生 |
| Code.org (Hour of Code) | 1 時間で完結する教材 | 授業導入 |
| Blockly | Google 製のフレームワーク(Scratch の元になる) | カスタム教材開発 |
| Snap! | Scratch 上位互換、関数を第一級に | 高校〜大学 |
| Viscuit (ビスケット) | 絵だけで動くプログラミング | 幼児 |
教育現場での活用例
- 小学校プログラミング教育(2020 年〜): 算数の正多角形描画、理科のセンサー実験などで採用
- STEAM 教育: 物理シミュレーション、図形ゲーム、楽器制作
- 言語教育: 多言語ストーリー作成、翻訳拡張機能
- Scratch Day: 世界中で開催される年次イベント
- Scratch Conference: 教員 / 研究者向けの国際会議
つまずきポイントとコツ
| つまずき | 対処 |
|---|---|
| 旗を押しても動かない | 「緑の旗が押されたとき」を一番上に付けたか確認 |
| ブロックがくっつかない | 形状の合うブロック同士しか連結しない(六角は条件、ひし形は数値) |
| ずっとループから抜けられない | 「もし〜なら」+「すべて止める」でループ終了 |
| スプライト同士の通信 | 「メッセージを送る/受け取る」を使う |
| 動きが速すぎる | 「〜秒待つ」を挟む |
| 変数が画面に出ない | 変数カテゴリで該当変数のチェックボックス ON |
FAQ
Q: オフラインで使える?
A: Scratch Desktop(公式オフラインエディタ)を scratch.mit.edu/download から無料ダウンロード。Windows / macOS / ChromeOS / Android 対応。
Q: Scratch で作った作品を JavaScript や Python に変換できる?
A: 公式機能はないが、サードパーティで sb3-to-js や TurboWarp(Scratch 互換高速エンジン)が JavaScript 化を提供。学習目的に有用。
Q: 中学・高校以降の次のステップは?
A: Python(特に Pygame / Turtle)、JavaScript(p5.js)、micro:bit MakeCode、Unity(C#)へのステップアップが定番。Scratch で身に付けた「逐次・反復・分岐・イベント」の概念がそのまま通用します。
ページの作成
親となるページを選択してください。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球
子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール
親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!
子ページはありません
人気ページ
- 1 Eclipseで「サーバーに追加または除去できるリソースがありません。」の原因と対処法
- 2 tomcat の起動 / 停止ログと catalina.log・catalina.out の違い
- 3 JavaScript base URL 取得方法|window.location.origin と SSR/Node.js 対応
- 4 YouTube Data API v3 エラー一覧|403/400/404 の主要原因と切り分け
- 5 Spring Frameworkのアノテーション一覧
- 6 Laravel エラー一覧|500/Blade/DB 接続/ルーティングの代表エラー
- 7 3Dグラフィックスとは|モデリング/レンダリング/主要ソフトウェア (Blender / Maya)
- 8 【Spring】@Valueアノテーションとは
- 9 CATALINA_HOME の確認方法 (Linux / Mac)
- 10 【Spring】@Autowiredアノテーションとは
最近更新/作成されたページ
- Ubuntu Apache インストール完全ガイド (apt / VirtualHost / SSL / PHP-FPM) 2026-06-10 14:59:27
- Linux ディストリビューション完全比較 (Ubuntu / RHEL 系 / Arch / Alpine) 2026-06-10 14:59:27
- Eclipse 便利ショートカット一覧 (検索 / リファクタ / ナビゲーション) 2026-06-10 14:59:27
- Django Admin オブジェクト操作完全ガイド (ListView / ChangeView / Inline / Actions) 2026-06-10 14:59:27
- UE5 UMG Backdrop Blur (背景ブラー) 完全ガイド (Modal Dialog / Performance) 2026-06-10 14:59:27
- UE5 UMG ボタン無効化完全ガイド (Is Enabled / Visibility / Style / Focus) 2026-06-10 14:59:27
- Linux rm コマンド完全ガイド (安全な使い方 / -rf の危険性 / 復元手段) 2026-06-10 14:59:27
- scikit-learn (Python 機械学習) 完全ガイド 2026-06-10 14:59:27
- テキストエディタ完全比較 (VS Code / Cursor / Vim / Emacs / IDE) 2026-06-10 14:59:27
- Linux sudo コマンド完全ガイド (-u / -i / sudoers / NOPASSWD) 2026-06-10 14:59:27
- Java 代入演算子完全ガイド(=, +=, -=, *=, ビット演算複合, 連鎖代入) 2026-06-10 14:59:26
- PHP エラーログ出力 (error_log / Monolog / Laravel Log) 完全ガイド 2026-06-10 14:59:26
- TCP/IP リンク層 (ネットワークインターフェース層) 完全ガイド 2026-06-10 14:59:26
- Python tuple (値のペア) 完全ガイド(unpacking / namedtuple / 型ヒント) 2026-06-10 14:59:26
- RSS フィード完全ガイド (RSS 2.0 / Atom / JSON Feed) 2026-06-10 14:59:26
コメントを削除してもよろしいでしょうか?