Scratch(スクラッチ)

【初心者向け】簡単につくることができるスクラッチゲーム(3)シューティングゲーム

「スクラッチ(Scratch)のアカウントは作成して、使い方もだいたいわかったので、実際に作品を作ってみたい!」という方のために、誰でも簡単にできるゲームの作り方を紹介していきます。

第三弾は、シューティングゲームです。まずはどんなゲームか、遊んでみてください。

シューティングゲーム

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

目次

最初にゲームがどうやってできているか整理しよう!

ゲームを作るときに、まずどんなゲームにしたいのか考えて分解・整理しておくと、後でプログラムを作るときに役立ちます。

たとえば、以下のようなイメージです。

(1)ゲームには、自分のロケット、敵キャラ、敵を倒すビームの3つが出てくるようにしたい。背景は、宇宙のイメージにしたい。

 

(2)ゲームがスタートしたとき自分のロケットが画面の下の方の真ん中に表示され、左右に動くようにしたい。

 

(3)敵は画面の上からあらわれ、下に向かってうごくようにしたい。敵を倒すビームはスペースキーを押したときに自分のロケットからあらわれ、上に向かって動くようにしたい。

 

(4)自分がうったビームが敵にあたったら、敵の機体とビームも消えるようにしたい。

ゲームを作る準備

最初に整理・分解した内容にそって、実際にゲームを作っていきましょう。まずは、ゲームのキャラクター(スプライト)や背景を準備します。

(1)スプライトを用意する

まず最初にゲームに出てくる3つのスプライトをつくります。スプライトを選ぶから、「Rocketship」「Lightning」「Planet2」の3つのスプライトを用意します。

(2)背景を用意する

次に、背景を用意します。「背景を選ぶ」から「Galaxy」を背景に設定します。

基本の動きをプログラムで表現する

次に、つくったスプライトにプログラムを追加していきます。

(1)自分のロケットを動かすプログラムをつくる

自分のロケットを動かすプログラムは下図のとおりです。

緑の旗が押されたら、まず、100%の大きさのままだと、画面に対して自分のロケットが多きすいるので、大きさを40%に調整します。

また、画面の下の真ん中に表示したいので、X座標は「0」、Y座標は「-140」の位置に表示します。

次に、キーボードの左右の矢印キーでロケットが動くように、キーが押されたら移動できるプログラムをつくります。「ずっと」と「もし」のブロックを使っていることに注意してください。

プログラムが完成したら、きちんと動くか緑の旗を押して試してください。

(2)敵をたおすビームのプログラムをつくる

次に、敵をたおすビームのプログラムをつくりましょう。ビームのプログラムは下図のとおりです。

ビームは、スペースキーが押されたときに発射できるようにします。

スペースキーが押されたら、ビームが自分のロケットのところに行って表示され、上に向かって進んでいって(Y座標を「10ずつ変える」)、画面の上の方(Y座標が「170」より大きくなる)に行ったら、表示されないようにします。

ここまでできたら、緑の旗を押して動かしてみましょう。

(3)敵キャラを動かすプログラムをつくる

次に、敵キャラをつくっていきます。以下のプログラムを書いて、敵キャラを動かしてみてください。

画面の上の方(Y座標が「180」)に出てきた敵キャラが、下に向かって動いていき(Y座標を「-5」ずつ変える)、一番下まで行く(Y座標が「-170」より小さくなったら)と表示されなくなります。

ここまでできたら、緑の旗で動かしてみてください。

それぞれのキャラクターが動くようになりました。

ただ、今のままでは、敵キャラが一度消えてしまうと出てきません。また、ビームが敵キャラにあたっても、敵キャラが自分のロケットにあたっても何も起こりませんね。

このあたりは後ほど修正しますので、いったん今はこのまま次に進みましょう。

キャラクター同士が反応するようにする

次に、キャラクターどうしが反応してゲームらしく内容に改造していきます。

(1)敵キャラにビームがあたったら、敵キャラが消えるようにする

まず、ビームが敵キャラにあたったら、敵キャラが消えるようにしてみましょう。

敵キャラが消えるようにしたいので、敵キャラのスプライトのコードにプログラムを書いていきます。

ビーム(Lightning)にふれたら、表示されなくしています。

「もし」のブロックを「ずっと」のブロックで囲むのを忘れないようにしてください。

プログラムをつくったら、実際に動かしてみましょう。敵キャラがビームにあたったら消えるようになっていたら成功です。

(2)敵キャラにビームがあたったら、ビームが消えるようにする

次に、敵キャラにビームがあたったら、ビームも消えるようにしてみましょう。

ビームを消すときに、敵キャラと同じように、「もし~に触れたならなら」で消すことができそうですが、うまくいきません。実際に以下のプログラムを書いて試してみてください。

一度、このプログラムは削除しましょう。

ビームが消えるようにするために、メッセージという機能を使います。

まず、敵キャラのプログラムでビームにあたったときに、「敵キャラにあたった」というメッセージをビームに送り、そのメッセージを受け取ったらビームが消えるというプログラムにします。

まず、敵キャラからメッセージを送るプログラムをつくります。

「イベント」カテゴリーから「メッセージ1を送る」というブロックを下図の位置に追加して、「メッセージ1」に部分をクリックします。

メッセージ名を「ビームが敵キャラにあたった」として、「OK」をクリックします。

次に、ビーム側で、「ビームが敵キャラにあたった」メッセージを受け取ったら、ビームが消えるようにします。

ここまでできたら、緑の旗で動かしてみてください。敵キャラもビームも両方消えるようになったら成功です。

(3)敵キャラが何度も出てくるようにする

次に、敵キャラが何度も出てくるように修正します。

先ほど使ったメッセージ機能を使ってつくります。

敵キャラが表示されるのは、「緑の旗が押されたとき」と「画面の一番下まで行ったとき」で、両方とも同じように画面の上から出て、下に向かって動いていけばよいですね。

そこで、さきほどお緑の旗が押されたときの下につくった敵キャラの動きのプログラムを切り離して、下図のように「敵キャラを表示する」というメッセージで動くようにします。

ここまでできたら、緑の旗を押して、敵キャラが何度も表示されることを確認しましょう。

(4)敵キャラが毎回違う場所から出てくるようにする

今のままだと、敵キャラはいつも画面の真ん中の上から出てくるので、面白くありません。

そこで、毎回違う場所から敵キャラが出てくるようにしてみましょう。「演算」カテゴリーにある「~から~までの乱数」というブロックを使って、敵キャラのプログラムに追加します。

乱数ブロックは、実行されるたびに毎回ランダムな数字が入るようにするプログラムです。

上の図では、「-220」から「220」までになっていますが、いろいろな数字を入れて試してみてください。

ゲームオーバーの処理を追加する

最後に、敵キャラと自分のロケットがぶつかったら、ゲームオーバーにする処理をくわえます。

自分のロケットのスプライトのコードに、下図のプログラムを追加してください。

敵キャラとビームがあたったときの処理とほぼ同じ仕組みですね。

一つ違うのは、「ゲームオーバー」というメッセージを送っているところです。

ゲームオーバーというメッセージを受け取ったら、画面に「GAME OVER」の文字が表示されるようにします。

「スプライトを選ぶ」から「描く」を選んでクリックしてください。

コスチュームの編集画面が表示されたら、「テキスト」ボタンをクリックして、画面中央の編集画面に「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(スクラッチ) > 【初心者向け】簡単につくることができるスクラッチゲーム(3)シューティングゲーム