
「ゲームを作ってみたいけど、どこから始めればいいんだろう?」 「Scratchは少し触ったことがあるけど、ちゃんと完成までいけるかな?」
そんな気持ちの小学校3年生以上のみなさんに向けて、Flappy Bird風ゲームの作り方を、順番に解説します。この記事の目標はシンプルです。最後まで進めて、1本のゲームを完成させること。そして「自分で作ったゲームが動くって楽しい」と感じることです。
Flappy Birdってどんなゲーム?

Flappy Birdは、画面をタップして鳥を上に跳ねさせ、流れてくる土管のすき間をくぐるゲームです。操作はほぼ1ボタンだけ。シンプルなのに難しく、何回も挑戦したくなるタイプのゲームです。
この「1ボタンで遊べる」仕組みが、Scratch学習にとても向いています。ルールがわかりやすいので、プログラムと画面の変化を結びつけやすいからです。
なぜ最初のレッスンにFlappy Birdなの?
このゲームには、ゲームづくりの基本がぎゅっと入っています。
- ジャンプ(上に動く)
- 落下(重力で下に動く)
- 回避(障害物を避ける)
- 判定(当たったら失敗)
- 繰り返し(何度でも再挑戦)
この5つが理解できると、横スクロールアクション、シューティング、ランゲームなど、別ジャンルにも応用できます。エンジニア歴30年の現場感覚でも、最初に「動き」と「判定」をセットで学べるこの題材は、かなり優秀です。
先に準備するもの
- Scratchで新しいプロジェクトを作る
- 鳥のスプライトを用意する(既存の鳥でも自作でもOK)
- 土管スプライトを1つ用意する(長方形でOK)
- 背景を空っぽにするか、空の背景にする
ポイントは「見た目に時間をかけすぎない」ことです。まずゲームとして動く状態を作って、そのあとでデザインを整えるほうがうまく進みます。
先に全体の仕組みをイメージしよう(ここが分かると迷いにくい)

作るゲームは、大きく言うとこの4つでできています。
- 鳥:落ちる(重力)+押したら上がる(ジャンプ)
- 土管:右から生まれて左へ流れる(クローンで分身)
- 判定:土管や地面に当たったら止める(ゲームオーバー)
- スコア:土管をうまく通れた回数を数える(できたら入れる)
「いま自分はどれを作っているのか」を見失うと、Scratchは急に難しく感じます。ここに戻って、どの部品を作っているか確認しながら進めてください。
レッツ・プログラミング
ここからは、実際のブロック構成を順番に作ります。
オススメは、ステップごとに必ず「緑の旗」を押してテストすることです。
ステップ1:鳥に重力をかける(自然に落ちる動き)

まずは「何もしないと落ちる」を作ります。
鳥スプライトで次のブロックをつなぎます。
イベント→ 「緑の旗が押されたとき」動き→ 「x座標を -100、y座標を 0 にする」
(開始位置は好みでOK)制御→ 「ずっと」動き→ 「y座標を -4 ずつ変える」
これで鳥は下に落ちます。
なぜこれで落ちるかというと、Scratchのy座標は「上がプラス・下がマイナス」だからです。毎フレーム少しずつマイナス方向へ動かすと、連続的な落下に見えます。
ステップ1の「意味」(ただ落ちるだけじゃない)
この「ずっと」のループは、ゲームの心臓です。ここに入れた処理は、ゲーム中ずっと動き続けます。
逆に言うと、ここが止まるとゲームも止まります。
もし動かなければ(ステップ1)
- 鳥が落ちない →
ずっとの中に「y座標を-4ずつ変える」が入っているか確認 - 鳥が画面の外に一瞬で消える →
-4を-2にして様子を見る(数値が大きすぎる) - 緑の旗で毎回スタート位置がズレる → 「x座標を…y座標を…にする」が入っているか確認
ステップ2:クリックでジャンプさせる

次に「押したら上に上がる」を作ります。
ここは「イベント」の単発ブロックではなく、ずっと の中でマウス入力をチェックする形にします。Scratch 3の標準ブロック構成で確実に動くやり方です。
鳥スプライトに、ステップ1とは別チェーンで追加します。
イベント→ 「緑の旗が押されたとき」制御→ 「ずっと」制御→ 「もし ~ なら」- 条件に
調べる→ 「マウスのボタンが押された」 動き→ 「y座標を 12 ずつ変える」
これで、クリックしている間に上へ押し上がる力がかかります。
ステップ2の「意味」(重力に逆らう力を足している)
ステップ1で鳥はずっと下へ引っ張られています。
ステップ2は、その逆向きの力を「押している時だけ」足す、という考え方です。
プログラムにすると「ずっと見張って、押されていたら上へ動かす」になります。
ここが分かると、シューティングの連射、キャラのダッシュ、ジャンプ台などにも応用できます。
コツは、落下量とジャンプ量のバランスです。
- 落下
-4/ ジャンプ12は標準 - 難しくしたいなら落下を
-5や-6 - やさしくしたいならジャンプを
14や16
「難しさ」はこの2つの数字でかなり調整できます。ここはゲームデザインの第一歩です。
クリックを「1回で1回だけ跳ねる」動きにしたいときは、待つ 0.1 秒 を もし の中に1つ入れてください。連打しやすくなり、挙動が安定します。

もし動かなければ(ステップ2)
- 押しても上がらない →
もしの条件が「マウスのボタンが押された」になっているか確認 - ずっと上に上がり続ける →
待つ0.1秒を入れる/ジャンプ値を12→9に下げる - 逆にほとんど跳ねない → ジャンプ値を
12→14に上げる
ステップ3:土管を流す(クローン=分身)

土管は1つずつ手動で増やすのではなく、クローン(分身)を使って自動生成します。
ステップ3の「意味」(なぜ分身が必要なの?)
ゲームの障害物は、基本的に「同じものを何回も出す」ことで難しさを作ります。
土管を毎回手でコピーして置くのは大変ですし、ゲームになりません。
そこで、土管の本体は「分身を作る機械」になって、分身が右から出て左へ流れます。
そして画面の外に行ったら自分で消えます。これがクローンの気持ちいい使い方です。
まず、土管スプライトに以下を作ります。
イベント→ 「緑の旗が押されたとき」見た目→ 「隠す」制御→ 「ずっと」制御→ 「1.5 秒待つ」制御→ 「自分自身のクローンを作る」
次に、クローンの動きを作ります。
制御→ 「クローンされたとき」動き→ 「x座標を 260、y座標を (ランダムな数)」にする
例:yは-60 から 120 までの乱数見た目→ 「見せる」制御→ 「ずっと」動き→ 「x座標を -6 ずつ変える」制御→ 「もし x座標 < -260 なら」制御→ 「このクローンを削除する」
これで右から左に土管が流れます。
なぜクローンを使うかというと、ゲームで「同じ敵や障害物を何回も出す」処理に向いているからです。分身は自動で生まれて、自動で消えるので、プログラムがすっきりします。
もし動かなければ(ステップ3)
- 土管が1つも出ない → 本体側に「ずっと→待つ→クローンを作る」があるか確認
- 出るけど動かない → クローン側に「ずっと→x座標を-6ずつ変える」があるか確認
- 出るけど見えない → クローン側に「見せる」があるか/本体側で「隠す」だけになっていないか確認
- 土管が増えすぎて重い → 待ち時間を
1.5→2.0に増やす/スピードを-6→-5にする
ステップ3.5:上下の土管を1セットにする方法

Flappy Birdらしくするには、「上土管」と「下土管」の2本が1セットで必要です。やり方は2つあります。
- 方法A:土管スプライトを2つ作る(上用・下用)
- 方法B:1つのスプライトに2つのコスチュームを作る
小3以上にオススメなのは方法Aです。見通しが良いからです。
例(方法A):
どかん上とどかん下の2スプライトを作る- どちらも「クローンされたとき」のxは同じ値にする
- yは「上が高い位置」「下が低い位置」で固定
- すき間は y の差で調整する
すき間をせまくすると難易度が上がり、広くすると遊びやすくなります。
ステップ3.5の「数値例」(まずはこのまま試して調整しよう)

ここは迷いやすいので、いったん「目安の数字」を置きます。Scratchは背景やスプライトの大きさで、ちょっとだけ座標が変わります。だから最初は「動くセット」を作ることを目標にして、あとで調整してください。
まずは方法A(上土管スプライト・下土管スプライトを2つ)で作る想定です。
- 右から左へ流すxの数は、上も下も同じ(例:x=260、xが-6ずつ変わる、消えるx=-260)
- 隙間(すきま)の大きさは、上土管のyと下土管のyの「差」で決まります
目安セット(かんたん):
- 上土管(どかん上)のクローン開始y:
120 - 下土管(どかん下)のクローン開始y:
-20
目安セット(ふつう):
- 上土管(どかん上)のクローン開始y:
105 - 下土管(どかん下)のクローン開始y:
-35
目安セット(むずかしい):
- 上土管(どかん上)のクローン開始y:
95 - 下土管(どかん下)のクローン開始y:
-45
調整のしかた(どこを動かせばいい?):
- 隙間を「せまく」したい → 上土管のyを少し小さく(下へ)/下土管のyを少し大きく(上へ)
- 隙間を「ひろく」したい → 逆に、上土管のyを少し大きく(上へ)/下土管のyを少し小さく(下へ)
コピペ完全版チェックリスト(つくる順番そのまま)
ここからは「とにかく迷わない」ための並び順です。コピペできるように、スプライトごとに手順を分けます。
「今どのスプライトを編集しているか」が合っているかだけ、都度チェックしながら進めてください。
① 鳥(Bird/Parrotなど)スプライトに作るもの
(A)重力で落ちる(ステップ1)
イベント:緑の旗が押されたとき動き:x座標を -100、y座標を 0 にする制御:ずっと動き:y座標を -4 ずつ変える
このブロックがしていること(解説):
- 緑の旗で「スタート位置」を決める
ずっとの中で毎回少しずつ下へ動かす(それが“落下”に見えます)
(B)クリック(押している間)でジャンプ(ステップ2)
イベント:緑の旗が押されたとき制御:ずっと制御:もし ~ なら調べる:マウスのボタンが押されている
動き:y座標を 12 ずつ変える
(必要なら安定させる)
もしの中に待つ 0.1 秒
このブロックがしていること(解説):
- 鳥は常に重力で下へ引っ張られている
- そこへ「押している間だけ」上へ押し上げる力を足す
- だから、押しっぱなしにすると上へ上がり続けます(短く1回にしたいなら
待つ 0.1 秒が役立ちます)
(C)当たり判定で止める(ステップ4)
制御:ずっと制御:もし ~ ならセンシング:(どかん上)に触れた- または
センシング:(どかん下)に触れた
制御:すべてを止める
このブロックがしていること(解説):
- 毎フレーム「当たっているか」を見続ける
- 当たった瞬間にゲーム全体を止めるので、失敗がはっきりします
(D)地面で止める(ステップ5)
制御:ずっと制御:もし y座標 < -170 なら制御:すべてを止める
このブロックがしていること(解説):
- 土管に当たらなくても「落下しすぎたら失敗」にします
- yが-170より小さくなったら止める、というルールです
② 土管(どかん)スプライト(本体)に作るもの
土管スプライトは、方法A(上と下の2つ)なら「どかん上」と「どかん下」の両方で同じ型を作ります。
違うのは「クローン開始y」だけです。
(共通:本体側)
イベント:緑の旗が押されたとき見た目:隠す制御:ずっと制御:1.5 秒待つ制御:自分自身のクローンを作る
このブロックがしていること(解説):
- 本体は見えないまま
- 1.5秒ごとに分身(クローン)を生み出す役
(共通:クローン側の動き)
制御:クローンされたとき動き:x座標を 260、y座標を固定する- 上土管(どかん上):y座標
120 - 下土管(どかん下):y座標
-20
- 上土管(どかん上):y座標
見た目:見せる制御:ずっと動き:x座標を -6 ずつ変える制御:もし x座標 < -260 なら制御:このクローンを削除する
③ スコア用(ステップ6)
(A)スコア変数
変数:スコアイベント:緑の旗が押されたとき- スコアを 0 にする
(B)土管(本体 or クローン側)で加点
- 「鳥より左に通過したら +1」する処理を入れます
- うまく動かないときは、まず「得点済み」フラグを作って、同じ土管で何回も加点しないようにします
このブロックがしていること(解説):
- スコアは「通れた証拠」
- いつ加点するか(鳥の左を通過した瞬間)がゲームの気持ちよさになります
※スコアは後回しでもOKです。先に「遊べる」を完成させるのがいちばん大事です。
ここが一番つまずきやすい(上下がズレる問題)
上下を「同じxでそろえる」ことが最重要です。
これがズレると、すき間が急に狭くなったり、絶対に通れない配置になったりします。
一番簡単なコツは、どかん上 と どかん下 で「同じタイミングでクローンを作る」ことです。
土管の本体側(緑の旗→ずっと→待つ→クローンを作る)を、上と下にコピペして同じ数字にしておくとズレにくいです。
ステップ4:当たり判定でゲームオーバー

鳥スプライトに、ぶつかったら停止する処理を追加します。
制御→ 「ずっと」制御→ 「もし ~ なら」- 条件に
センシング→ 「(どかん上)に触れた」
さらにまたはを使って「(どかん下)に触れた」も加える 制御→ 「すべてを止める」
これで衝突時にゲームオーバーになります。
ここで大事なのは、「判定は毎フレーム見続ける」ことです。
1回だけチェックだと、たまたま当たりを見逃すことがあります。ずっと の中で判定するのが基本です。
もし動かなければ(ステップ4)
- 当たっても止まらない → 触れている相手の名前(どかん上/どかん下)が合っているか確認
- まだ当たっていないのに止まる → 鳥のコスチュームの当たり判定が大きい可能性(見た目より大きい場合があります)。コスチュームの余白を減らすと改善します。
ステップ5:地面に落ちたら終わり

Flappy Birdでは地面に落ちても失敗です。鳥スプライトに追加します。
制御→ 「ずっと」制御→ 「もし y座標 < -170 なら」制御→ 「すべてを止める」
これで、土管に当たらなくても落下ミスで終わるようになります。
もし動かなければ(ステップ5)
- すぐゲームオーバーになる →
-170が高すぎる可能性。数字を-200などに下げて調整 - 地面まで落ちても終わらない →
ずっとの中に判定があるか確認
ステップ6:スコアを入れる

ゲームらしさを一気に上げるならスコア表示です。
変数で「スコア」を作る(すべてのスプライト用)イベント→ 「緑の旗が押されたとき」→ 「スコアを 0 にする」- 土管クローン側で「鳥より左に通過したら +1」する
実装のシンプルな例:
- 土管クローンごとに「得点済み」フラグ変数(クローン専用でも可)を持つ
もし x座標 < 鳥のx座標 かつ 得点済み=0 ならスコアを 1 ずつ変える得点済みを 1 にする
少し難しいですが、ここまでできるとかなり本格的です。
ステップ6の「意味」(スコアは“通れた証拠”)
スコアは飾りではなく、ゲームの目的をはっきりさせる仕組みです。
「うまく避けた」ことを数字で見える化すると、自然ともう1回やりたくなります。
ここは難しければ後回しでもOKです。先に「遊べる」状態を完成させてから入れるほうが、成功率が上がります。
つまずきやすいポイントと解決法

1) 鳥が一瞬で落ちる
- 落下量が大きすぎる可能性
-4から始めて調整しましょう。
2) 鳥が上に飛び続ける
- クリック入力が長押し扱いになっている可能性
もし <マウスのボタンが押された>の中に待つ 0.1 秒を入れてみてください。 - ジャンプ値が大きすぎる可能性
12を9か10に下げると安定しやすいです。
3) 土管が出ない
- 本体を「隠す」にして、クローン側で「見せる」を忘れていないか確認
- クローン作成の間隔が長すぎないか確認
クローンされたときのチェーンが、土管スプライト側に置かれているか確認
4) 当たり判定が効かない
- 触れている相手が正しいスプライト名か確認
- 判定ブロックが
ずっとの中にあるか確認 - 土管の当たり判定がゆるすぎる場合は、コスチュームを塗りつぶして輪郭を単純にすると判定しやすくなります。
5) スコアが増えすぎる
- 同じ土管で何回も加点されている可能性
「得点済み」フラグを使い、1本につき1回だけ加点するようにしてください。
6) 緑の旗を押しても動かない
- どこかで
すべてを止めるしたままになっている可能性があります。
いったん全ブロックを見て、緑の旗が押されたときから始まるチェーンが各スプライトにあるか確認してください。
デバッグのコツは「1つずつ確かめる」です。
全部を同時に直そうとすると迷子になります。プロの現場でも同じです。
エンジニアからの改造アイデア
完成したら、ぜひ改造して自分の作品にしてみてください。
- 鳥の見た目を変える(コスチューム切り替えで羽ばたき表現)
- 背景をスクロールさせる
- 効果音を入れる
- 一定スコアごとにスピードアップ
- 最高記録を保存する
「動く」から「遊ばれる」へ進むには、難易度調整と見た目の工夫が効きます。
ここから先は、まさにゲームクリエイターの領域です。
まとめ
Flappy Bird風ゲームは、ジャンプ、落下、回避、当たり判定、スコアというゲームづくりのコアを学べる題材です。Scratchでここまで作れるようになると、次のゲーム制作にも自信がつきます。

私からひとこと。もっと本格的なゲーム作りを体験してみたい子は、沖縄・宜野湾の教室で待っているよ!
Scratchを教室で深く学びたい方は、Scratch(スクラッチ)プログラミング教室をご覧ください。コース全体はプログラミングスクール詳細にまとめています。
教室の場所やアクセスは教室へのアクセスから確認できます。サイト全体の入口は沖縄のマインクラフト・プログラミング教室 クロスウェーブです。
この記事を書いた人の経歴や活動は、すずきたかまさ(鈴木孝昌)プロフィール ― 沖縄マイクラ部・クロスウェーブ代表にまとめています。
今すぐ、LINEから無料体験を予約できます。「見学だけでもいいですか?」という問い合わせも大歓迎です。まずは一度、教室の雰囲気を体験しに来てください。
沖縄マイクラ部プログラミングスクール「クロスウェーブ」 代表:鈴木 孝昌 (Google/Meta本社招待・政府PM・日本ソフトウェア大賞・マイクラカップTBS賞) 沖縄県宜野湾市伊佐2-20-15 伊佐ビル2F
マイクラ部への参加方法
マイクラ部への参加を希望される方はLINEアカウントへ登録を頂くか、メールにて「webcrafts098@gmail.com」までご連絡をお願いします。
沖縄マイクラ部プログラミングスクール「クロスウェーブ」では、マインクラフトカップへの参加を目指す仲間を募集しています。子供たちへのプログラミング教育として「Python」「Scratch」「MakeCode」「JavaScript」「Unity」「Godot」などを指導しています。動画編集講座(Premiere Pro・DaVinci Resolve・CapCut)やHTML/CSSでのWeb制作講座も開催中です。
マイクラカップ参加希望の方へ
マイクラカップへの参加を希望される方は、人数把握のため以下のフォームからも申請をお願いします。申込時はマインクラフト教育版のライセンス費用が発生いたします。
開催地域
沖縄県宜野湾市
沖縄マイクラ部プログラミングスクール「クロスウェーブ」にて開催しています。
沖縄県うるま市
FMうるまにて開催しています。
FMうるま
沖縄マイクラ部について
沖縄マイクラ部は教室ではなく、親子の勉強会というスタイルで運営しています。保護者の方も一緒に参加していただけますので、お気軽にご参加ください。
お問い合わせ
お問い合わせはLINEオフィシャルアカウント、またはメール(webcrafts098@gmail.com)からお気軽にどうぞ。イベント情報は「開催イベント一覧」からご確認ください。