Scratch(スクラッチ)

【スクラッチゲームの作り方】シューティングゲームのゲームオーバー処理の作り方

Scratchではじめてゲームをつくりはじめた方向けに、スクラッチゲームの作り方を解説していくシリーズの第3回は、シューティングゲームを例に、ゲームオーバー処理について解説していきます。

実際の処理は、以下のプロジェクトからご確認いただくことができますので、合わせてご覧ください。

シューティングゲーム

スクラッチについてわからないことがあったら、質問を送って下さい。

目次

ゲームオーバー処理の概要

シューティングゲームですと、敵キャラ(下の画像では惑星のキャラクター)が自分の飛行機に近づいてきて、ぶつかったらゲームオーバー画面を表示してゲームを終了するという処理があります。

惑星が飛行機にぶつかる

キャラクターを非表示にして「GAME OVER」の文字を表示する

このような処理を実現するためには、(1)ゲームオーバーになる条件を決める、(2)ゲームオーバーの条件を満たしたときに実施する処理を決める、という2つの手順が必要になります。

細かく見ていくと、このゲームの例では、以下のような処理が行われています。

  1. 飛行機と敵キャラがぶつかったらゲームオーバー処理をスタートさせる
  2. キャラクターを非表示にする
  3. 「GAME OVER」の文字を表示する

ゲームオーバーの条件は「飛行機と敵キャラがぶつかること」、ゲームオーバーの条件を満たしたときに実施する処理は「キャラクターを非表示にすること」と「GAME OVER」の文字を表示するの2つです。

それでは、実際の作り方をみてみましょう。

飛行機と敵キャラがぶつかったらゲームオーバー処理をスタートさせる

このシューティングゲームでは、以下のようなプログラムで、ゲームオーバーの処理がはじまる仕組みが作られています。

このプログラムは、自分の飛行機(スプライト名「Rocketship」)の中に作っています。

まず、自分の飛行機が、敵キャラ(スプライト名「Planet2」)に触れたら、「ゲームオーバーを送る」というメッセージを送ったあと、自分の飛行機を「隠す」仕組みになっています。

「ゲームオーバーを送る」というメッセージは、受け手のキャラクターがいて、このメッセージを受け取ったキャラクター側で続きのゲームオーバー処理が動きはじめます。

敵に3回当たったらゲームオーバーにする

次に、自分の飛行機がライフを持っていて、3回敵の攻撃に当たったらゲームオーバーをスタートさせる処理の作り方を解説します。

ライフをもらせるときは、ライフという変数を作って、緑の旗が押されてゲームがはじまったときに、ライフが3でスタートするようにします。

続いて、ライフが0になったときに、ゲームオーバー処理がスタートするようなプログラムを作ります。

敵に3回ふれたらゲームオーバー処理をスタートさせる方法は、下のプロジェクトで確認いただくことができますので、合わせてご確認ください。

シューティングゲーム(スコア・ライフあり)

キャラクターを非表示にする

ゲームオーバーになったら、「GAME OVER」の文字を表示しますが、そのときに画面の中にキャラクターが残っていない方が良いので、画面から隠します。

先ほど、自分の飛行機「Rocketship」から、「ゲームオーバーを送る」というメッセージを送信しました。

そこで、敵キャラ(Planet2)で、このメッセージを受け取ったときに、下のプログラムで画面から「隠す」ようにします。

同じように、ゲームオーバーになったときに、画面に出ていてほしくないものがあれば、同じプログラムを作ります。

なお、「すべてを止める」というプログラムは、このゲームのすべてのプログラムを終了させる処理になっています。

「GAME OVER」の文字を表示する

最後に、「GAME OVER」の文字を表示させましょう。

「背景を変えて表示させる方法」と「スプライトで表示させる方法」がありますが、今回はスプライトで表示させる方法をご紹介します。

まず、新しいスプライトをつくって、「GAME OVER」の文字を入力しましょう。大きさや色も自分の好みに変えておいてください。

「GAME OVER」の文字を作ることができたら、次にプログラムを作ります。

まず、先ほど自分の飛行機(Rocketship)から送られた「ゲームオーバーをうけとったとき」に、この文字を表示するプログラムを作りましょう。

ここで注意が必要なのは、メッセージを受け取ったときに「GAME OVER」の文字を表示するプログラムだけですと、その後何度ゲームをプレイしても、「GAME OVER」の文字が表示されたままになってしまいます。

そこで、緑の旗が押されてゲームがはじまったときには、「隠す」というプログラムを作っておきましょう。こうすることで、ゲームがはじまったときに「GAME OVER」の文字が表示されなくなります。

スクラッチについてのご質問を受けつけています

プログラミング教室MYLABでは、スクラッチについてのご質問を受けつけています。わからないことやうまく行かないことがありましたら、以下のフォームより送信して下さい。

※質問は、保護者の方から送信をお願い致します。
※ご質問の回答には、お時間を要することや、答えできないことがあることを、あらかじめご了承ください。
※ご質問の回答は、MYLABホームページ上に掲載致します。回答を掲載しましたら、メールにてご案内致します。


ゲーム制作やプログラミングをさらに学びたい方へ!

本ブログでは、「ゲームオーバー処理」以外にも、いくつかのゲーム制作の方法について解説していますので、ぜひご覧ください!

「お家でやったけれども、うまくいかなかった」「さらに高度なことをやってみたい!」という方へ

最近は、プログラミングを学習するためのアプリや本、無料のプラットフォームも増えてきて、子どもたちがプログラミングを学習する機会や環境も整ってきました。

しかし、保護者の方とお話ししていると

  • あきてしまって、長続きしなかった
  • 本やアプリで自習してみたけど、うまくいかなかった
  • 保護者の方がプログラミングの経験がなく、子どもに教えるのが難しい

といったお話をよくうかがうことも多いです。

そんな方は、一度当ブログを運営するプログラミング教室MYLABのレッスンを体験してみませんか?

MYLABのレッスンの特徴は以下のような特徴があります。

  • お子さまが楽しくプログラミングを続けることができるカリキュラム
  • 一人ひとりの「創りたい!」にこたえられる知識を持ち、成長をサポートできるメンター陣
  • 初学者だけでなく、ロボコンにチャレンジしたり、本格的な3Dゲームをつくったりする上級コースまで継続できる

「本当に楽しめるのかな?」「うちの子に合うかしら?」「飽きっぽいうちの子が続けられるかしら?」と思う方もいるかもしれません。

そんな方は、ぜひ一度無料で開催している体験レッスンに来て、実際に体験してみてください!

ゲーム・プログラミング体験(90分)

  • どんなゲームをつくることができるのか、まずは遊んでみる
  • ミッションをクリアするためのアイデアを考える
  • コーチのサポートを受けながら、自分のアイデアを実現する!

ご興味をもっていただいた方は、ぜひ下のボタンからお申し込みください!

オンラインまたはMYLAB中目黒校での
体験授業お申込みはこちら

小学生の習い事に
MYLAB(マイラボ)のプログラミング教室&ロボット教室!

東京中目黒にあるMYLABでは、マサチューセッツ工科大学(MIT)メディアラボの教授であるミッチェル・レズニック氏が提唱する「創造的な学び」という学習理論をベースにカリキュラムを作っています。

お子さまが熱中できる問いを中心にレッスンが進行し、試行錯誤しながらミッションクリアを目指していきます。理科のように実験を行いながら“プログラミングとはどういう役割なのか?”がスムーズに理解でき、継続することで“自分で確かめる習慣”が身につきます。

またMYLABでは、世界最大級のロボコン「FIRST LEGO League」へチャレンジするカリキュラム(教室受講のみ)を通して、お子さまたちが世界にチャレンジする機会もご提供しています。

教室受講

短期集中講座

Minecraft動画クリエイター講座

通年コース

  • ロボット・プログラミング コース
  • ゲーム・プログラミング コース
  • エレメンタリーコース
  • FIRST®LEGO®League(ロボコン)チャレンジコース
  • Unityコース

オンライン受講

通年コース

  • ゲーム・プログラミング(Scratch)コース
  • 3Dゲームプログラミング(Unity)コース

無料の体験授業について

MYLABでは体験授業として、ロボット・プログラミング体験とオリジナルゲーム制作体験をご用意しています。複雑で難しいように思うかもしれませんが、少しのサポートでほとんどのお子さまが仕組みを理解し、ゴールに向けて取り組めるようになります。ゴールを導き出すまでの過程は子供によってそれぞれで、講師陣は子供たちの考えや作品を受け止め、よいところを認めながらレッスンを進めていきます。

この体験授業では、お子さまが成長できるイメージを持っていただけるかと思いますので、興味がある方はお気軽にお申し込みください。

ロボット・プログラミング教室のMYLAB(マイラボ)
教室受講・オンライン受講のコース詳細

教室受講 コース一覧

短期集中講座

Minecraft動画クリエイター講座 Minecraftチームビルディグ講座
対象 小学3年生~小学6年生 小学3年生~小学6年生
レッスン時間 4ヶ月間の短期集中講座。
90分/回
4ヶ月間の短期集中講座。
90分/回
受講料(税込) 17,600円/月 17,600円/月
学習内容 Minecraft(マイクラ)の実況動画制作 人と協力するヒューマンスキルの養成
使用ツール Minecraft Java Edition
備考

※入会金・設備利用料等はございません。

※Minecraft Java版のライセンスをお持ちでない方は、ご購入いただきます。

詳細 詳細はこちら 詳細はこちら

通年コース

エレメンタリーコース ロボット・プログラミング コース
対象 未就学~小学1年生 小学2年生~小学6年生
レッスン時間 90分/回 90分/回
受講料(税込) 18,150円/月 24,200円/月
学習内容 ブロック等を使った科学工作、
タブレットでプログラミング
ロボット・プログラミング
使用ツール Gigoブロック、Scratch Jr. レゴ©マインドストーム©EV3
備考

※上記に加え、入会金24,200円(税込、入会時のみ)と教室維持費3,630円/月を別途頂戴いたします。

詳細 詳細はこちら 詳細はこちら
ゲーム・プログラミング コース 3Dゲーム・プログラミング(Unity)コース
対象 小学2年生~小学6年生 小学5年生~高校1年生
レッスン時間 90分/回 90分/回
受講料(税込) 24,200円/月 30,250円/月
学習内容 ゲーム・プログラミング、
アニメーション作成
Unityによる2D・3Dゲームの開発
使用ツール Scratch Unity
備考

※上記に加え、入会金24,200円(税込、入会時のみ)と教室維持費3,630円/月を別途頂戴いたします。

詳細 詳細はこちら 詳細はこちら
FIRST®LEGO®League(ロボコン)チャレンジコース
対象 小学4年生~高校1年生
レッスン時間 90分/回
受講料(税込) 24,200円/月
学習内容 ロボット・プログラミング、
コラボレーション、
課題解決、
プレゼンテーション
使用ツール SPIKE™ プライム
備考

※上記に加え、入会金24,200円(税込、入会時のみ)と教室維持費3,630円/月を別途頂戴いたします。

※別途大会参加費([参考]2022-2023シーズンは41,800円 (税込))をチームの参加人数に応じてご負担いただきます。

詳細 詳細はこちら

オンライン受講 コース一覧

通年コース

ゲーム・プログラミング(Scratch)コース 3Dゲームプログラミング(Unity)コース
対象 小学2年生~中学3年生 小学5年生~高校3年生
レッスン時間 60分/回 90分/回
受講料(税込) 17,820円/月 24,200円/月
学習内容 ゲーム・プログラミング Unityを使ったゲーム・プログラミング
使用ツール Scratch Unity
備考

※オンラインコースは、入会金・教室維持費はございません。

詳細 詳細はこちら 詳細はこちら

ロボット・プログラミング教室のMYLAB(マイラボ)
入会までの流れ

体験会

体験会

  1. フォームより体験会のお申し込みをお願い致します。
  2. 教室よりお電話差し上げて、体験会の日程を決定致します。
  3. 体験会にご参加ください。

体験会は、下記の2つから選択が可能です。

  1. オンラインでのプログラミング授業(スクラッチ)のみ
  2. 教室でのプログラミング授業(スクラッチ)と、
    EV3を活用したロボットプログラミングの両方を体験出来る体験会があります。

どちらも無料となっておりますので、ぜひ、ご気軽にご参加ください。

ご面談

ご面談

体験会に参加いただいた上で、保護者様とお子さまとご面談をさせていただきます。
お子さまの現在の状況や性格などお話を聞かせていただきながら、ご家庭で考えていらっしゃる教育方針も含めて、大事なお子さまの将来のために、どのようにMYLABをご利用いただくと効果的か?
話し合いをさせていただき、入会に関するご判断をしていただきます。

ご契約

ご契約

入会に関する正式なご希望をいただきましたら、入会に向けた契約手続きをしていただきます。
MYLABの規約・契約事項・注意点をお伝えしながら、入会手続きのご契約をしていただきます。
お申し込みは、教室に来ることなくオンライン上のみでの契約手続きが可能です。

入会

入会

MYLABのカリキュラムがスタートします!
MYLABを通じて、お子さまが楽しくプログラミングを学びながら、創造性と自主性を育くんで成長していく様子を、見守ってください。
MYLABでは、子どもたちの成長の様子を保護者様にブログやSNSを通して積極的に共有させていただきます。

ぜひ、MYLABのロボット・プログラミング教室を楽しみにしていてください。

東京でロボット・プログラミング教室をお探しなら
オンライン対応のMYLAB

屋号 MYLAB(マイラボ)
運営会社 株式会社明光ネットワークジャパン(東証プライム 4668)
スクールマネージャー 楠田 健介・出射 寛人
教室住所 〒153-0051 東京都目黒区上目黒3丁目6−18 Tyビル 6階
教室電話番号 03-3760-5252
メールアドレス info@my-laboratory.jp
URL https://my-laboratory.jp/

ABOUT ME
柿沼 功
MYLAB事業責任者。経営学修士(MBA)。株式会社明光ネットワークジャパンにて、明光義塾のeラーニングシステム開発・運用の責任者をつとめ、2020年2月よりMYLAB事業に従事。
Home > 最新のお知らせ > コラム > Scratch(スクラッチ) > 【スクラッチゲームの作り方】シューティングゲームのゲームオーバー処理の作り方