この記事では、Scratch(スクラッチ)のシューティングゲームの作り方について紹介します。
「スクラッチでシューティングゲームが作れるの!?」と思う方もいらっしゃるかもしませんが、簡単シューティングゲームから複雑なものまで、いろいろな作品が作られています。
今回は、初心者がシューティングゲームを作るポイントをまとめてみました。
基本編と応用編に分けて、シューティングゲームの作り方を詳しく紹介しています。
シューティングゲーム|スクラッチの作品例
スクラッチで作れるシューティングゲームってどんなもの?
シューティングゲームは、飛行機やロケットを操縦し、敵となる飛行機や宇宙船などをビームなどで撃墜するゲームです。
スクラッチで作れるのは、大きく分けて、縦スクロールと横スクロールの2つのタイプがあります。
どちらのタイプでも、背景の画面を、縦または横に強制スクロールをさせるのが特徴になります。
強制スクロールのため躍動感があり、ドキドキハラハラのスリルや爽快感が楽しめるのがシューティングゲームの大きな魅力です。
縦スクロールのシューティングゲーム例
縦スクロールのシューティングゲームとしては、次の作品がおすすめです。
メインキャラや敵キャラ、背景、動きなどはまさにシューティングゲームそのものです。
ビームは自動で発射され、対地ミサイルは自分で発射する形式になっています。
シンプルな作りで、初心者でもプレイが楽しめるでしょう。
横スクロールのシューティングゲーム例
横スクロールシューティングゲームは、次の作品がおすすめです。
スペースキーで弾を発射するだけでなく、P・B・Rを使って、それぞれパワーモード、レーザーモード、爆弾モードが使えるシューティングゲームです。
敵も様々な形の弾幕を発射してくるなど、本格的な内容になっています。
小学生が作ったシューティングゲーム例
プログラミング教室アルスクールに通っている子達が作ったシューティングゲームを紹介します。
子供たちが自分で考えて作った作品です。どれも個性的でおもしろいですよ。
敵が落ちてくる前に全部やっつけろ!
>>中のコードを見てみる
弓矢をよけよう!HPが減っていくよ
>>中のコードを見てみる
りんごのビームから逃げろ!
>>中のコードを見てみる
簡単シューティングゲームの作り方【スクラッチ】
では、ここからはシューティングゲームの作り方(基本編)を解説していきます。
こちらの動画のゲームを作っていきます。
スプライトの準備|メインキャラ・弾・敵キャラ
まずは、必要なスプライトを準備しましょう。
自分の操縦するキャラとして、ここではロケットスプライト(Rocketship)を選びました。
次に、敵キャラを撃ち落とすための弾(ビーム)のスプライト(Beam)を選びましょう
Button1を選択して「Beam」というスプライトにします。
続いて、敵キャラを選びましょう。
ここでは、こうもりのスプライト(Bat)を選びました。
ここまでで画面は以下のようになります。
背景の画像
ここでは、背景の「Stars」を画像ファイルとして保存したのち再度スプライトとして読み込みます。
背景の画像の上で右クリックするとこの画面が出てくるので、「名前を付けて画像を保存」を押して 、パソコンの内部に一度保存します。
次に、スプライトの中から「スプライトをアップロード」を選択し、先ほど保存した背景の画像をアップロードします。
これで背景画像をスプライトとして登録できました。
宇宙では同じ背景が続くため、この1枚の画像を使い回すことができます。
このスプライトに動きをつけて、背景が上下にスクロールしているようにします。
旗が押されたときにまず、自分自身のクローンを作り、自分自身は(x,y)=(0,0)に配置します。
スクラッチの画面サイズは横480px✕縦360pxなので、縦が少し重なるよう、クローンのy座標を340にします。
そして、自分自身もクローンもy座標を-5ずつ移動して、y座標が-340まで行ったら y座標を340にする、という動きを繰り返します。
これで背景が縦にスクロールするような動きになりました。
スクラッチに用意されている背景を使うと、切り替わりがきれいに見えない場合が多いです(背景とクローンの境目がわかってしまう)。
そのため、自分でシームレスに切り替わる背景画像を用意すると、もっときれいにスクロールできます。
メインキャラの動きを作ろう
次に、メインキャラの動きを作りましょう。
まず、宇宙空間にロケットを配置し、大きさと位置を調整します。
そして、ロケットを上下左右に動かせるようにします。
左右方向は、ここでは「左右矢印キーが押されたとき」に「x座標を±10ずつ変える」ようにします。
上下方向は、ここでは「上下矢印キーが押されたとき」に「y座標を±10ずつ変える」ようにします。
弾の動き
次に、弾(ビーム)の動きを作りましょう。
連続して発射できるよう画面内に複数表示する必要があるため、ここではスぺースキーが押されるたびにクローンを作成するようにしました。
スペースキーが押されたとき(=クローンされたとき)、ロケットの位置は毎回変わっているため、まず「Rocketshipに行く」で弾を移動させます。
さらに、機体から発射されてY軸の上方向に動くようにし、画面端に触れると自動的に消えるようにしました。
ここまでで、少しシューティングゲームっぽくなってきました。
敵キャラの動き
次に敵キャラの動きを作りましょう。
敵キャラは画面内にやはり複数現れるため、こうもりのスプライトでクローンを作成するようにします。
ここでは5秒に1体現れるようにしました(出現頻度はお好みで調節してください)。
現れる場所は画面上方で、乱数を用いてx軸方向にランダムな位置に出現するようにします。
ここでは下方向に動き、弾同様に画面端に触れると自動的に消えるようにしました。
スピードを変えたり、ジグザグに動かすなど、工夫してみましょう。
「弾が当たる ⇒ 敵が消える」を作ろう
シューティングゲームになるように、弾(ビーム)が当たったら敵が消えるようにしましょう。
まず、こうもりのスプライトが弾に触れたらクローンが削除されるようにします。
それと同時に弾も消す必要があるため、「げきつい」のメッセージを送ります。
一方、弾のスプライトでは「げきつい」のメッセージを受け取ったときに、同様にクローンが削除されるようにします。
これで弾が命中すると敵が消えるようになりました。
効果音をつけると、より撃墜した感じが出ることでしょう。
「弾が敵に当たる ⇒ 点数が増える」を作ろう
さらに、スコアを競えるようにするために、弾が当たったら点数が増えるようにしましょう。
まず、変数「てんすう」を作成します。
「てんすう」を作成して、下の画像の左部分のようにチェックを入れると、「てんすう」が表示されるようになります。
ここでは、弾が当たったときに変数「てんすう」が10点ずつ増えるようにしました。
このとき、開始後に必ず「てんすう」を0に戻すようにします。
そのため、「てんすうを0にする」を旗の下に入れました。
これで、基本編は完成です。
弾の種類や、敵の種類によって得点を変えるなど、工夫してみてください。
スクラッチのシューティングゲームの応用編
さて、ここまででシューティングゲームの基本的部分を完成させることができました。
より本格的に遊べるゲームにするために、基本編を元に、こちらの動画のゲーム(応用編)を作成してみましょう。
ライフの設定
まず、メインキャラが敵キャラに当たったときに減る数字、いわゆる「ライフ(=残り機体数)」を設定しましょう。
変数「ライフ」を作成し、ロケットのスプライトがこうもりに触れるとライフが1ずつ減るようにします。
そして、Game Overの画面を出すために、ライフが1より少なくなったら「ゲームオーバー」というメッセージを送るように設定しておきます。
また、「げきとつ」のメッセージを送り、こうもりのスプライトにてクローンが削除されるようにします(そうしないと、激突し続けることになります)。
次に「GAME OVER」画面を作成し、ライフが0になったときに表示されるようにしましょう。
まずはスプライトから「描く」を選択して、「GAME OVER」画面を作ります。
ゲームオーバのスプライトは、ゲーム中には表示せず、さきほど送る設定をしたメッセージ「ゲームオーバー」を受け取ったら表示する設定にしておきます。
効果音をつけよう
最後に、よりゲームらしくするために音を付けてみましょう。
- Beamが発射されるとき
- こうもりがBeamにあたったとき
- ロケットがこうもりにあたったとき
- Game Overになったとき
の音を設定します。
Beamの効果音
Beamのスプライトを選択して、左上にある「音」タブを開きます。
すると左下に「音を選ぶ」と言うアイコンがあるのでここをクリックします。
今回は「Jump」という音を選びました。
Beamのスプライトに、音を鳴らすを追加します。
Beamが当たった時の効果音
次に、こうもりがBeamにあたったときの音を設定します。
同じく音を選択してこうもりのスプライトに音を鳴らす、を追加します。
「Teleport2」という音を選んでいます。
ロケットがこうもりに当たった時の効果音
ロケットがこうもりにあたったときの音は、ロケットのスプライトに設定します。
「Pew」という音を選択しました。
GameOverの効果音
GameOverになったときの音は、GameOverのスプライトに設定します。
表示するタイミングで「Lose」という音を鳴らすようにしました。
これで基本的なシューティングゲームの完成です!
さらにアレンジするなら
さらに本格的なシューティングゲームにするには、
- 弾のバリエーションを増やす
- 機体のクローンを作るなどパワーアップさせる
- 敵キャラの種類や動き方を変える
- 大型のボスキャラを作る
- スクロールの向きやスピードを変える
- 効果音やBGMをつける
- 背景を変える
- CLEARの画面や設定をいれる
など、さまざまなポイントが考えられます。
オリジナルのシューティングゲームを作ってみましょう!
他に、アクションゲームの作り方もまとめていますので、こちらも参考にしてください。
キッズプログラミング教室アルスクールでは、オンライン教材パッケージ【アルスパーク】を開発しました(※教室・塾向け教材です)。
アルスパークは、Scratch(スクラッチ)を徹底的に学びやすくした教材です。
指導者にプログラミング知識がなくても大丈夫!
テキスト教材、レッスン動画、カリキュラム、指導方法のデータなど、レッスンに必要なものはすべてご用意しました。
シューティングゲーム・タイピングゲームなどの、作例もたくさん載っています。
プログラミング教室運営でつちかった【プログラミング×探究学習】のカリキュラムで、
子ども達のプログラミング力・思考力・創造性を伸ばします。
アルスパークには、1ヶ月間無料トライアルがあるので、ぜひ一度試してみてください。
>>【教室・塾経営者様向け】オンライン教材パック 詳しくはコチラ
※現在、事業者様のみへのサービス提供とさせていただいております。