Scratch(スクラッチ)のシューティングゲームの作り方について紹介します。
キッズプログラミング教室【アルスクール】では、プログラミング教材【スクラッチ】を小学生向けレッスンで使っています。
レッスンでもシューティングゲームを作る子はとても多く、人気のあるゲームです!
そこで、今回は、初心者がシューティングゲームを作るポイントをまとめてみました。
こちらの簡単シューティングゲームの作り方を解説します。
基本編と応用編に分けて紹介していきます。
シューティングゲームの素材(※自由に使ってください。)>>https://scratch.mit.edu/projects/1060854006/
シューティングゲームの完成版(※自由に使ってください。)>>https://scratch.mit.edu/projects/1062203974/
Contents
Scratchのシューティングゲーム作品例
シューティングゲームには、大きく分けて縦スクロールと横スクロールの2つのタイプがあります。
どちらのタイプでも、背景の画面を、縦または横に強制スクロールをさせるのが特徴です。
Scratchのシューティングゲームの作品例1| 縦スクロール
縦スクロールのシューティングゲーム例を紹介します。
ビームは自動で発射され、対地ミサイルは自分で発射する形式になっています。
シンプルな作りで、初心者でもプレイが楽しめるでしょう。
Scratchのシューティングゲームの作品例2|横スクロール
横スクロールシューティングゲーム例も紹介します。
スペースキーで弾を発射するだけでなく、P・B・Rを使って、それぞれパワーモード、レーザーモード、爆弾モードが使えるシューティングゲームです。
敵も様々な形の弾幕を発射してくるなど、本格的な内容になっています。
Scratchの簡単シューティングゲームの作り方(基本編)
では、ここからはシューティングゲームの作り方(基本編)を解説していきます。
こちらの動画のゲームを作っていきます。
スプライトを準備しよう|自分のキャラ、弾、敵キャラ、背景
まずは、必要なスプライトを準備しましょう。
今回は、ロケット、敵、ビーム、星空の背景を用意しました。
シューティングゲームの素材(※自由に使ってください。)>>https://scratch.mit.edu/projects/1060854006/
背景の画像|スプライトにして縦スクロール
次に、背景を縦にスクロールさせるプログラムを作ります。
このゲームでは、縦スクロールさせるために背景をスプライトとして使います。
ちなみに、今回は、宇宙では同じ背景が続くため、同じ背景画像を縦に2枚並べて動かしました。
そのため、縦に並べた時に違和感なく見える背景画像を用意しました。
背景を縦スクロールするプログラムはコチラです。
プログラムを解説します。
- 自分自身のクローンを作り、自分自身は(x,y)=(0,0)に配置
- スクラッチの画面サイズは横480px✕縦360pxなので、縦が少し重なるよう、クローンのy座標=340
これで2枚の背景画像が縦に並びます。
- 自分自身もクローンもy座標を-2ずつ移動
- y座標が-340まで行ったら y座標を340にする、という動きを繰り返す
ただ、この時、停止ボタンを押すと、下画像のようになってしまうという問題があります。
この場合は、背景にもスプライトと同じ宇宙の画像を入れておくことで、停止ボタンを押しても違和感がないようにできます。
これで背景が縦にスクロールするような動きになりました。
ロケットの動きを作ろう
次に、上下左右に動かせるロケットの動きを作りましょう。
ロケットのプログラムはコチラです。
- ロケットのはじめの位置を決め、大きさを70%にします。
- ロケットを上下左右に動かせるようにします。
左右方向は、ここでは「左右矢印キーが押されたとき」に「x座標を±10ずつ変える」ようにします。
上下方向は、ここでは「上下矢印キーが押されたとき」に「y座標を±10ずつ変える」ようにします。
これで、ロケットの動きができました。
ビームの動きを作ろう
次に、ビームの動きを作りましょう。
連続して発射できるよう、ここではスぺースキーが押されるたびにクローンを作るようにしました。
- スペースキーが押された時 → ビームのクローンを作る
- ビームのクローンの動き
- ロケットへ行く
- 上方向(0度)に向ける
- ずっと10歩動かす
- 端、または敵にふれたら、ビームクローンを削除
ここでは、ビームが敵に当たった場合、敵とビームを両方消したいので、「クローンを削除する」の前に「0秒まつ」を入れましょう!(※敵を消すプログラムはこの後作成。)
これでビームの動きができました。
敵の動きを作ろう
次に敵の動きを作りましょう。
敵も画面内に同時にいくつか出したいので、クローンを使います。
ここでは3秒に1体現れるようにしました(出現頻度はお好みで調節してください)。
- 3秒に1回敵のクローンを作る
- 敵のクローンの動き
- 敵が出てくる位置を(x, y)=(-100~100, 150) ※x座標はランダムにでる
- ずっとy座標を-10ずつ変える
- 端、またはビームにふれたら、敵クローンを削除
現れる場所は、乱数を用いて、画面上方で、左右方向にランダムに出てくるようにしました。
そして、敵はずっと下方向に動くようにしました。
また、この時も「クローンを削除する」の前に「0秒まつ」を入れました(敵とビームを同時に消すため)。
これで敵の動きもできました!
当たったら点数が増えるようにしよう
次はビームが敵にが当たったら点数が増えるようにしましょう。
まず、変数を作るから、「てんすう」という名前の変数を作成します。
下の画像の左部分のようにチェックが入っていると、「てんすう」が表示されるようになります。
ここでは、はじめは、「てんすう」が0点で、弾が当たったときに「てんすう」が10点ずつ増えるようにしました。
- ビームのコードで、旗が押されたときの下に、「てんすうを0にする」を追加
- ビームのコードで、クローンされたときに敵に当たったら「てんすうが10増える」ようにする
これで、基本編は完成です。
敵のうごきによって点数を変えるなど、工夫してみてください。
Scratchのシューティングゲームの作り方(応用編)
次は、基本編を元に、応用編を作成してみましょう。
こちらのゲームを元に作っていきます。
ライフを設定しよう
「ライフ」を設定して、ロケットが敵にあたったらライフが減るようにしましょう!
まず、変数を作るから、「ライフ」という変数を作ります。
そして、ロケットのプログラムで、次のようにブロックを並べます。
- 最初:ライフ=5
- ロケットが敵にあたったら、ライフが1ずつへる
この時、3つのブロックを組み合わせた「敵に触れた ではない まで待つ」というブロックを「ライフを-1ずつ変える」の下に入れましょう!
これを入れないと、1つの敵に当たっている間ずっとライフが減り続けます。
ゲームオーバーを作ろう
「ゲームオーバー」画面を作成し、ライフが0になったときに表示されるようにしましょう。
まずは、ロケットのスプライトで、以下のようにプログラムを作ります。
- ライフが1以下(=0)になったら、ゲームオーバーを送る
- このスクリプトを止める
「メッセージを送る」から新しいメッセージ「ゲームオーバー」を作成して、ライフが1以下になったらこのメッセージを送ります。
ライフ<1でメッセージを送り続けないよう、「このスクリプトを止める」を入れます。
次に、「スプライトを選ぶ→描く」から、ゲームオーバーのスプライトを作ります。
作成したゲームオーバーのプログラムはコチラです。
- 最初はゲームオーバーのスプライトを隠す
- 「ゲームオーバー」というメッセージを受け取った時に表示する、すべてを止める
これでライフ=0でゲームオーバーになって、ゲームが終わるようになりました。
音をつけてみよう
最後に、よりゲームらしくするために音を付けてみましょう。
- ビームが発射されるとき
- ビームが敵にあたったとき
- ロケットが敵にあたったとき
- ゲームオーバーになったとき
の音を設定します。
音を選ぶときは、音を入れたいスプライトを選択して、左上にある「音」タブを開きます。
すると左下に「音を選ぶ」と言うアイコンがあるのでここをクリックします。
今回はこちらの素材に、音も入れておきました。
>>https://scratch.mit.edu/projects/1060854006/editor/
ロケットが敵に当たった時は、「たいこ4」という音を入れました。
ビームを発射したときは「レーザー3」、ビームが敵に当たった時は「たたかい3」という音がなるようにしました。
ゲームオーバーの時は、「ゲームオーバー2」の音が鳴るようにしました。
これで応用編のシューティングゲームの完成です!
ゲームをアレンジするには
さらに本格的なシューティングゲームにするには、
- 敵キャラの種類や動き方を変える
- ボスキャラを作る
- BGMをつける
- 2面をつくる
- CLEARの画面や設定をいれる
など、さまざまなポイントが考えられます。
オリジナルのシューティングゲームを作ってみましょう!
プログラミング教室アルスクールでScratchを学ぼう
キッズプログラミング教室【アルスクール】では、主に、小学生向けにScratchレッスンを行っています。
※現在は、Scratchを学びやすくした教材【アルスタジオ】を使ってレッスンを行っています。
子供たちの興味や好奇心を大切に、Scratchで楽しく学んでいます。
アルスクールキッズの作品|シューティングゲーム
アルスクールに通っている子が作ったシューティングゲームを紹介します。
子供たちが自分で考えて作った作品です。
どれも発想を形にするために試行錯誤して完成させたもので、個性的でおもしろいシューティングゲームです。
アルスクールのScratchレッスンの学びと成長や、他のプログラミング教室とどうちがうのかについてはこちらの記事をご覧ください
アルスクールでは、Scratchを使って一人ひとりの個性に合わせたレッスンを行っています。
アルスクールの学びを無料体験レッスンでぜひ体験してみてください。
キッズプログラミング教室【アルスクール】では、オンラインで学べるでプログラミングレッスンを行っています。
現在、冬の入会金無料キャンペーン中で、通常11,000円の入会金が無料になります。
実際のレッスンに参加できる無料体験で、この機会にアルスクールの学びを体験してみませんか。
また、実際の教室でもレッスンを行っています。
- 東京にお住まいの方 → 自由が丘校、中野校
- 大阪にお住まいの方 → 大阪南千里校
- 福岡にお住まいの方 → 福岡西新校
教室での無料体験レッスンをご希望の方は、こちらをご覧ください。