トピックス Topics お姉さん

【Scratch】初心者もできるシューティングゲームの作り方!



「Scratchでシューティングゲームを自分でも作ってみたい!」
この記事では、Scratchでのプログラミング練習として、シューティングゲームの作り方をご紹介します。

今回作成するゲームは、たったの4ステップで作ることができます!
ゲームの内容は「右端からランダムに迫ってくる敵を弾を発射して倒す」といった基本的なシューティングゲームとなっています。
もちろんScratchを用いてゲームを作るため、プログラミングが必要になるので、プログラミングも勉強できて一石二鳥!
ぜひ本記事を参考にシューティングゲームを作ってみてください。
Scratchゲームを作るときの基本的な操作・知識は【Scratchゲームの作り方~基本操作編~】にて解説しているので、ぜひ参考にしてみてください。

Scratchシューティングゲームの作り方

ここからScratchでシューティングゲームを作成する手順を解説します。
少し難しい内容も出てくるので、何度も見返していっしょに作ってみましょう!

①まずはスプライトを3つ用意しよう!

よくある基本的なシューティングゲームを作るためには、以下の3つのスプライトが必要です。

  • 操作するキャラクター
  • 発射される弾
  • 敵キャラクター

そして、上記3つのスプライトに対しそれぞれ以下の動きをプログラムすることで、誰でも簡単にシューティングゲームを作ることができます。

  • 操作するキャラクター:上下左右に動かせる
  • 発射される弾:任意のボタンが押されたときに弾が発射され、端まで飛んだら消える
  • 敵キャラクター:端から上下ランダムに出現し、操作するキャラクターに向かって移動してくる。弾があたったら消える。

上記のように3つに分けて考えることで、全体像を簡単にイメージすることができたと思います。

そして、今回は「操作するキャラクター:cat(猫)」「発射される弾:ball(ボール)」「敵キャラクター:Dinosaur(恐竜)」の3つのスプライトを用意しました。
それぞれスプライトの大きさは、赤枠の上の「大きさ」部分から変えることができるので、スプライトが大きいなと感じてみたら数値を小さくして調整してみてください。
また、プログラムを組む際は、対象のスプライトを選択した状態でプログラムを組みましょう。
それでは、以下からいっしょにそれぞれのスプライトに対してプログラムを作ってみましょう!

②猫をキーボードで動かせるようにしよう!

自身で操作するスプライトを上下左右に動かせるようプログラミングします。
まずはゲームで操作するスプライトを選択しましょう。
早速ですが、以下が操作するスプライトを、キーボードの「十字キー」を使って上下左右に動かすためのブロックの組合せです。

操作するスプライトのプログラム

①右向き矢印キーが押されたとき、x座標を10ずつ動く

右向き矢印キーを押すと、スプライトのx座標が10変わるというプログラムです。
キーボードの「→」キーを押すことで、対象のスプライトを右に動かすことができます。

②上向き矢印キーが押されたとき、y座標を10ずつ動く

上向き矢印キーを押すと、スプライトのy座標が10変わるというプログラムです。
キーボードの「↑」キーを押すことで、対象のスプライトを上に動かすことができます。

③左向き矢印キーが押されたとき、x座標を-10ずつ動く

左向き矢印キーを押すと、スプライトのx座標が-10変わるというプログラムです。
キーボードの「←」キーを押すことで、対象のスプライトを左に動かすことができます。

④下向き矢印キーが押されたとき、y座標を-10ずつ動く

下向き矢印キーを押すと、スプライトのy座標が-10変わるというプログラムです。
キーボードの「↓」キーを押すことで、対象のスプライトを下に動かすことができます。

上記プログラムを組むことで、cat(猫)を矢印キーを使って上下左右に動かせるようになります。
それでは、次に発射する弾をプログラミングしてみましょう!

③球を発射できるプログラムをつくろう!

発射される弾は以下の動き(プログラム)をする必要があります。

  • 特定のキーを押したときに弾が現れる
  • 操作するキャラクター(スプライト1:cat)の元に現れる
  • 発射された弾は右方向へ進んでいく
  • 弾は右端に到達したら消える

そこで、以下のプログラムを組むことで、上記の動きを再現することができます。

発射される弾のプログラミング

①スペースキーが押されたとき、自分自身のクローンを作る

スペースボタンを押したとき、自分自身のクローン=選択しているボールのスプライト(弾)が現れるというプログラムです。
このプログラムを組むことで、スペースキーを押せば次々と弾を出現させることができます。

②クローンされたとき、スプライト1のとことろで表示され、右の方向へ(x座標+10)進み続け、端に触れたらクローンを削除する

少し複雑なプログラムになりました。
このブログラムでは、クローンされたスプライト=選択しているボールのスプライト(弾)がcatから現れ、右方向へ進み、端にぶつかると削除されるというプログラムです。
ここでは、「ずっと」のブロックを活用することで、「ずっと」の中に囲っているブロックの指令を自動的に継続して出し続けることができます。

③旗が押されたとき、スプライトを隠す

上記①.②のプログラムだけでは、下画像のように始めに出現していたボールが表示されたままになってしまうため、このプログラムを使うことで余計なボールを削除することができます。

以上が弾の動きを再現するプログラムです。
次に最後の敵のキャラクターの動きをプログラミングしてみましょう!

④弾が当たると敵が倒れるプログラムをつくろう!

敵キャラクターは以下の動き(プログラム)をする必要があります。

  • 特定の指令があったとき、右端の上下ランダムにスプライトが現れる
  • 現れたスプライトは左に向かって進んでいく
  • 弾が当たったらスプライトは消える
  • スプライトは左端に当たったら消える

そして、敵キャラクターの動きを再現するためには、以下のプログラムを組みましょう。

敵キャラクターのプログラム

一見とても複雑なプログラムですが、それぞれブロックの意味を理解できればとても簡単です。

<ポイント!>「乱数」を理解しよう!
「乱数」は「ランダム=どこから出てくるかわからない」ととらえて大丈夫です!
画像右上の座標を見てみましょう。
この座標はそれぞれ端の数値で、白枠の上下左右の端をしめしています。
そして、今回は「x」を-250~250の間、「y」を-130~130で設定しています。
このプログラムから、恐竜が右端の上下左右からランダムに出現し左に向かって進んでいき、左端に到達したらまた右端の上下左右からランダムに出現するといった動きを再現することができました!

いかがでしょうか?
この数値を理解するだけで、上記プログラムへの理解度も高まるのではないでしょうか。
上記を理解した上で、再度プログラムの動きを解説すると、

旗が押されたとき、スプライトを右端(x:250)から上下ランダム(y:130~-130)に出現させる。
そして、出現したスプライトは左の方向へ(x軸方向へ-10)進み続け、もし左端(x:-250)に到達したら、再度スプライトを右端(x:250)から上下ランダム(y:130~-130)に出現させる。
また、もしスプライトがボールに当たったら一度消え、1秒後に再度スプライトを右端(x:250)から上下ランダム(y:130~-130)に出現させる。

というプログラムになります。
一見複雑なプログラムも、一つひとつのブロックをゆっくり何度も見返すことができるので、わからないときは焦らずじっくり見返してみてください!

以上大まかに分けて4ステップで、Scratchでの基本的なシューティングゲームを作成することができます。

★もっとScratchのゲーム作成を面白くするには
ここまででプログラミングの基本は十分!
プログラミングは、自分の思うようにゲームをつくれることが特徴!
・背景を変える
・球を連射できるようにする
・敵キャラを増やしてみる
・敵も球を打ってくるゲームにする
など、自分なりのゲームを考えてみましょう。

ここにさらにゲームオーバーやスコアの要素や、音楽、背景を加えることでさらにゲームらしくなるので、ぜひアレンジして挑戦してみてください!

Scratchでもっとゲームを作りたいならデジタネ!

本記事ではシューティングゲームを作っていただきました。
そして、シューティングゲーム作成を通して「プログラミングっておもしろい!!」と思っていただけたのではないでしょうか?
デジタネでは、Scratchを使ってシューティングゲームはもちろん、もぐらたたきゲームやブロックくずしゲーム、そしてRPGゲームまで作れてしまうカリキュラムをご用意しています!
また、教材は動画を用いて講義を行っているので、好きなときに好きな場所で学習を行うことができます。
さらに、デジタネでは14日間無料体験キャンペーンを行っており、無料体験期間中は無料でScratchゲーム制作コースを体験していただけます。
今回のゲーム制作を通して、少しでもプログラミングがおもしろいと感じた方は、ぜひこの機会に⇩からデジタネのScratchコースを体験してみてください!
▼14日間無料体験はこちら▼

この記事を書いた人
デジタネ編集部

「ライフスタイルとしての学び」を提供するEdTech Companyとして、最新テクノロジーを活かしたデジタル教育を提供。
マインクラフトやRobloxといった子どもに大人気のゲームを活用したプログラミング教材を提供する「デジタネ(旧D-SCHOOL)」を運営。また、小学校・中学校・高等学校向けにプログラミングやクリエイティブ授業を提供。

オンライン(自宅)で プログラミング無料体験!
公式LINEの友だち登録限定!デジタネ公式LINEにご登録いただけると、今ならおトクな情報をお送りしています! 公式LINEの友だち登録限定!デジタネ公式LINEにご登録いただけると、今ならおトクな情報をお送りしています!