Contents
1️⃣ ゲーム概要と学習ポイント
| 項目 | 内容 |
|---|---|
| 目的 | 落ちてくるスイカをクリック(タップ)で切り、得点とライフを管理するシンプルなアクションゲームを作成する。 |
| 対象年齢 | 小学1〜4年生(保護者・教師のサポートがあれば 5 年生以上も可) |
| Scratch 学習項目 | 変数、リスト、ブロードキャスト、イベントハンドラ、コスチューム切替、音声再生、デバッグ手法 |
このゲームは「クリック=入力」だけで完結するため、プログラミングの基礎概念を直感的に体験できる教材です。
2️⃣ 必要な環境と素材の入手方法
2.1 アカウントとブラウザ
| 作業 | 手順 |
|---|---|
| Scratch アカウント作成 | 1. https://scratch.mit.edu にアクセス 2. 右上「参加する」をクリックし、メールアドレス・ニックネームを入力して登録 |
| 推奨ブラウザ | Chrome(最新版)/Microsoft Edge(Chromium) ※ Safari は音声の自動再生がブロックされやすいので注意 |
2.2 素材の取得先
| 種類 | 推奨入手元 |
|---|---|
| スプライト(画像) | Scratch エディタ左側「スプライトを選ぶ」→「食べ物」カテゴリの Watermelon。 CC0 版が欲しい場合は Pixabay / Unsplash で「watermelon」検索 |
| 背景 | 「ビーチ」「夏祭り」など季節感のあるものを公式ライブラリから選択、または自作画像をアップロード |
| 効果音・BGM | Scratch のサウンドタブ(切れる音・歓声) CC0 音源は FreeSound で「watermelon splash」等を検索しダウンロード |
すべて無料で取得でき、追加費用は一切かかりません。
3️⃣ 開発フロー ― 初級から上級まで段階的に実装
3.1 プロジェクト作成と背景設定(初級)
|
1 2 3 4 5 |
1. Scratch にログイン → 「作る」ボタンで新規プロジェクト 2. ステージの「背景」をクリック → 「背景を選ぶ」→「自然」>「ビーチ」(または自作) 3. プロジェクト名を「スイカゲーム(2026版)」 4. 説明欄に「夏休み向けのシンプルな切りゲームです。」と記入 |
背景だけで季節感が演出でき、子どものモチベーションが上がります。
3.2 スプライトの用意
| スプライト名 | 用途・作成手順 |
|---|---|
| watermelon (落下) | 公式ライブラリから「Watermelon」を選択。そのまま使用。 |
| watermelon_cut (切断後) | watermelon を複製し、コスチュームエディタで半分に割った絵を描くか、公式の「切れた」パーツを重ね合わせる。 |
| ground (隠し判定) | 「新しいスプライト」→「ペイント」で透明な長方形(幅 480, 高さ 10)を作成し、ステージ底部に配置。名前は ground に変更。 |
| score_display (変数表示) | 後述の score と life を画面左上に常時表示させるために「データ」タブで変数を作成し、ステージに表示させるだけで OK。 |
音声はスプライトごとに サウンド タブから追加します(例:切断音 slice)。
3.3 落下ロジックとクリック判定
3.3.1 基本的な落下処理(watermelon)
|
1 2 3 4 5 6 7 8 9 10 11 12 |
when green flag clicked go to x: (pick random -200 to 200) y: 180 show forever change y by (-5) // 落下速度 if <touching [ground v]?> then // 地面に到達したら broadcast [missed v] hide stop this script end end |
3.3.2 クリック(タップ)で切断
|
1 2 3 4 5 6 7 |
when this sprite clicked switch costume to [watermelon_cut v] // 切れた姿に変更 play sound [slice v] until done change [score v] by (10) wait (0.5) seconds hide |
ポイント
foreverブロックは「緑の旗」から開始したときだけ走ります。テスト中にスプライトが重複しないよう、go to x:で位置を毎回リセットしています。
3.4 スコア・ライフ管理とゲームオーバー
- 変数作成
score(得点)-
life(残機) -
初期化スクリプト(ステージ)
|
1 2 3 4 5 6 |
when green flag clicked set [score v] to (0) set [life v] to (3) show variable [score] show variable [life] |
- ミス時の処理(ground スプライト)
|
1 2 3 4 5 6 |
when I receive [missed v] change [life v] by (-1) if <(life) = (0)> then broadcast [game over v] end |
- ゲームオーバー表示(ステージ)
|
1 2 3 4 5 |
when I receive [game over v] stop all sounds say [ゲームオーバー!] for (2) secs // 必要に応じて「再挑戦」ボタンを作成 |
3.5 上級機能 ― レベル・コンボ・演出
3.5.1 リストで速度管理(レベル別落下スピード)
|
1 2 3 4 5 6 7 |
when green flag clicked set [level v] to (1) delete all of [speedList v] add (30) to [speedList v] // level 1 の速度 add (45) to [speedList v] // level 2 の速度 add (60) to [speedList v] // level 3 の速度 |
落下スクリプトに組み込む例:
|
1 2 3 4 5 |
repeat until <touching [ground v]?> change y by (-1 * item (level) of [speedList v]) wait (0.02) seconds end |
3.5.2 コンボ倍率
| 変数 | 用途 |
|---|---|
combo |
連続成功回数 |
multiplier |
得点倍率(1 + floor(combo / 5)) |
|
1 2 3 4 5 6 7 8 9 |
when this sprite clicked switch costume to [watermelon_cut v] play sound [slice v] until done change [combo v] by (1) set [multiplier v] to ((combo) / 5 + 1) // 小数点は自動で切り捨てられる change [score v] by (10 * multiplier) wait (0.5) seconds hide |
3.5.3 季節イベント例(花火演出)
|
1 2 3 4 5 6 7 8 |
when I receive [level up v] if <(level) = (3)> then broadcast [fireworks v] end when I receive [fireworks v] create clone of [fireworkSprite v] // 事前に作成した花火スプライトをクローン化 |
3.5.4 BGM のループ再生(モバイル対応)
|
1 2 3 |
when green flag clicked play sound [bgm v] until done // iOS/Android は最初のユーザー操作後に再生が許可される |
4️⃣ テスト・デバッグ実践チェックリスト
| 項目 | 確認手順 |
|---|---|
| スプライト重複 | 「すべてのスプライト」タブで名前が被っていないか確認。連番 (watermelon1, watermelon2) があると管理しやすい。 |
| クリック判定 | 落下速度を最大にした状態で 5 回以上正しく切れるかテスト。失敗したら change y by (-5) → (-8) に調整。 |
| 得点計算 | スコア表示が負の値にならないか、score が期待通りに増減するか確認。 |
| ゲームオーバー | life が 0 のとき必ず game over ブロードキャストが走り、メッセージが表示されることを検証。 |
| 音声再生 | 切断音・BGM がモバイル端末でも鳴るか確認(ユーザー操作後に再生するよう実装)。 |
| ステップ実行 | Scratch のデバッグ機能(F6 キー)でブロックの流れを一時停止し、変数の値が期待通りか逐次チェック。 |
デバッグコツ
- 変更を加えるたびに「緑の旗」→「ステップ実行」でブロックごとの挙動を見る。
-hideとshowの順序ミスは、見えなくなったスプライトが判定対象にならない典型的なバグです。
5️⃣ 公開と安全な共有方法
5.1 プロジェクトの最終確認
| 作業 | 内容 |
|---|---|
| タイトル | 「すいかゲーム(子ども向け)2026」など分かりやすく記入 |
| 説明文 | 対象年齢、使用した素材の出典(公式ライブラリ・CC0)を明示 |
| タグ | #プログラミング学習 #夏休み #Scratch2026 #子ども向け など検索しやすいキーワードを5つ程度設定 |
5.2 公開設定とコメント管理
- 「共有」ボタンで全体公開
- コメントは「モデレート済み」に設定し、保護者が承認したものだけ表示できるようにする
- リミックスを許可する場合は「元作品へのリンク」と作者名が自動的に付くことを説明
5.3 保護者・教師向け安全ガイド
- 個人情報の入力禁止:ニックネームだけでアカウント作成させ、メールアドレスは非公開設定にする。
- 不適切コメントの対処:右上の「通報」ボタンからモデレーターへ報告できる旨を指導。
- リミックスのルール:改変した作品には必ずオリジナルへのリンクと作者名を残すよう教える。
6️⃣ 発展アイディアとまとめ
6️⃣.1 発展例(クラスや部活で使う場合)
| アイディア | 学習効果 |
|---|---|
| スコアランキング | データの保存・表示方法を学ぶ(外部サービスは使わず、Scratch の「リスト」だけでも実装可) |
| マルチフルーツモード | 条件分岐と変数切替で複数スプライトを同時に扱う練習 |
| ステージエディタ | 子ども自身が背景や障害物を描くことでデザイン思考を促進 |
6️⃣.2 記事全体のまとめ
- シンプルさと拡張性:クリックだけで完結するゲーム構造は初心者に最適。一方、変数・リスト・ブロードキャストを組み合わせればレベルやコンボなど高度な要素も実装可能です。
- 学習の循環:作りながらプログラミング概念を学び、完成した作品を共有してフィードバックを受け取る → 再度改良というサイクルが自然に生まれます。
- 安全な環境:Scratch のコミュニティ機能と保護者向けガイドラインを活用すれば、子どもは安心して創作活動に没頭できます。
さあ、今すぐ Scratch にログインし、スイカゲームの制作に挑戦しましょう!
夏の思い出と同時に、プログラミングという大切なスキルを手に入れるチャンスです。