今回の記事では、シューティングゲームをさらに発展させて複雑なゲームを作る方法について解説しています。
前編と後編を読むだけでも、シューティングゲームは完成しますが、余力のある方は、ぜひ挑戦してほしい内容です。
発展編で取り組む内容は以下の通りです。
- とくてんをつける
- BGMと効果音をつける
- 乱数を使って、インベーダーを1〜5体ランダムで出現させる
- 一定のとくてんまで到達すると、ゲームクリアにする
発展編まで完成させると、他の人よりもスクラッチのことがすごく詳しい状態になっているはずです。
まだ前編と後編に取り組んでいない方は、そちらから最初に始めてください。
Table of Contents
【最初】シューティングゲームの素材をダウンロードしよう!
まずは、この記事で必要なゲームの素材をダウンロードしましょう。

画像は、私が作った完全オリジナルの素材です。
どのような用途で使用しても構いませんので、安心してお使いください!
記事の後半で、プレイヤーの爆発アニメーションを作ります。
【スクラッチ】シューティングゲームの作り方①得点の仕組みを作る
さっそく、得点を表示するために、変数→新しく作るを選択します。

すると、上記のように、「とくてん」と記載するようにしてください。

「とくてんを0にする」と「とくてんを1ずつ変える」が出てきているはずです。
インベーダー1を選択した上で、上記のように正確にブロックを差し込んでください。
同じく、インベーダー2とインベーダー3にも、ブロックを差し込んでおきましょう。
【スクラッチ】シューティングゲームの作り方②BGMをつける
ここでは、ゲーム全体のBGMを設定しましょう。

BGMは、ゲーム全体の話なので、背景を選択します。
そして、画面左下の「音を選ぶ」を選んでください。

上記のように、「Video」と検索すると、候補が出てくるので、「VideoGame2」を選びましょう。

選んだBGMをコードで流れるように設定します。
上記のように、クリックを押したら、ずっとBGMが流れるようにブロックを配置してください。
【スクラッチ】シューティングゲームの作り方③効果音をアップロードする
現状では、ブレッドを打っても、インベーダーに当たっても効果音が鳴りません。
そこで、効果音を設定して、よりゲーム性を強くしていきましょう。
今回は、効果音ラボから音源を探して、ダウンロードします。
効果音ラボは、素材を自由にスクラッチで活用しても規約違反することなく使用できます。そのため、安心してご利用ください。
Scratchは、学習環境という特性上、作品を公開すると、作品内で使用した効果音素材が誰でもダウンロードできるようになってしまいます。
効果音ラボ公式サイト:https://soundeffect-lab.info/agreement/
これは、当サイトが禁止している素材の再配布に該当しますが、それを特別に許可しています。

上記のように、効果音ラボから、「ショット」と「ショット命中」をDLボタンを押してダウンロードしてください。

パソコンにダウンロードした音源は、上記のように、左下のアイコンからアップロードしましょう。
プレイヤーを選択した上で、「ショット」をアップロードしてください。

次に、インベーダー1を選択した上で、「ショット命中」をアップロードしてください。
なお、インベーダー2とインベーダー3も同様に、アップロードしてください。
【スクラッチ】シューティングゲームの作り方④適切に効果音を鳴らす
次に、アップロードした効果音を鳴らしたい時に鳴るように設定します。

上記のように、プレイヤーを選択した上で、音の「ショットの音を鳴らす」をスペースキーを押したときの条件に追加してください。

次に、インベーダーを選択した上で、音の「ショット命中の音を鳴らす」をブレッドに触れたときの条件に差し込んでおきましょう。
同様に、インベーダー2とインベーダー3にも、音の「ショット命中の音を鳴らす」を挿入しておいてください。
【スクラッチ】シューティングゲームの作り方⑤プレイヤーの爆発アニメーションを作る
次に、プレイヤーがインベーダーに当たった時の爆発アニメーションを作っていきましょう。

まずは、上記のように、ダウンロードした素材を二つアップロードしておいてください。
あわせて3つの画像を切り替えることで、爆発したようなアニメーションを作ることができます。

さらに、爆発時の音を演出したいので、効果音ラボから「爆発1」をダウンロードしておきます。

プレイヤーを選択した上で、「爆発1」をアップロードしておいてください。
なお、爆発音の尺が長い場合は、上記のように「速く」を数回押して、爆発音の長さを調整してください。

そして、上記のように、爆発時=ゲームオーバー時として、プログラムを書き換えます。
まず、古いプログラムは消しておきます。
さらに、上記のように、「次のコスチューム→0.1秒待つ→次のコスチューム→効果音を鳴らす」流れで作り替えてください。

さらに、上記のようにインベーダー1を選択した上で、ゲームオーバーを送った後に、スクリプトを止めるように、設定してください。
これをしないと、ゲームオーバーが何度もプレイヤーに送られてしまい、何度も爆発アニメーションが発動してしまいます。
【スクラッチ】シューティングゲームの作り方⑥インベーダーの生成数をランダムにする
次に、インベーダーの数がランダムで変わるように、設定します。
今回は、インベーダー1のみを設定してきましょう。

上記のように、インベーダー1を選択しておきます。
そして、「クリックされたとき」と「クローンされたとき」に分けて考えていきましょう。
まず、クリックが押されたら、演算の乱数を用いて、1〜5までの数字を繰り返します。
これで、クローンの生成数をランダムにしていきます。
このように、乱数をうまく使うことで、あるときはインベーダーが1体、別の時は5体出てくるようになるでしょう。
【スクラッチ】シューティングゲームの作り方⑦ゲームクリアを作る
最後に、ゲームクリアの仕組みを作って、完成とします。

まずは、背景を選択した上で、右クリック→背景を複製します。
そして、複製した背景に、上記のようにゲームクリアを書き足しておきましょう。

そして、とくてんが20を超えたら、ゲームクリアになるように設定していきます。
まずは、クリック時に、最初の背景に設定するために、「stars」にします。
また、ずっとBGMを流すようにしましょう。
さらに、クリックを押したときに、とくてんが20になるまで待つように設定しておきます。
20になったら、全ての音を止めて、背景を「stars2(ゲームクリアの背景)」にしましょう。
上記のように、コードを設定することができたら、今回の記事のゲーム作りは終わりとなります。
お疲れ様でした!
まとめ:発展編までできたお子さんは、Unityに挑戦してみよう
ここまで、前編、後編、発展編の3つに分けて、スクラッチのシューティングゲームの作り方を解説してきました。
発展編は、BGMや効果音、スコア判定など、難しい設定が多かったですが、ここまでよく作成することができましたね。
もっと、プログラミングを頑張りたいと思っているお子さんなら、もしかすると、スクラッチを卒業する良いタイミングかもしれないです。
スクラッチの次は、Unity(ユニティ)です。
Unityとは、プロのエンジニアは使うゲーム開発エンジンで、ポケモンGOやスーパーマリオランなどが作られています。
発展編まで、頑張れたお子さんなら、きっとUnityでプログラミングの才能を開花することでしょう。
ぜひ、この機会にUnityに挑戦してみてください。