今回の記事では、スクラッチのシューティングゲームの作り方を解説していきます。
スクラッチを勉強し始めたらなら、シューティングゲームはまず作ってみたくなるものです。
今回のシューティングゲームは、前編、後編、発展編の3つに分かれています。
前編と後編を読み進めたら、シューティングゲームは完成します。
さらに、難しいゲームにしたい場合は、発展編を読み進めてください。
なお、お子さんが一人で読み進めても、理解できる内容になっていますので、ぜひ頑張ってみてください。
Table of Contents
【最初】シューティングゲームの素材をダウンロードしよう!
まずは、この記事で必要なゲームの素材をダウンロードしましょう。
【スクラッチ】シューティングゲームの作り方①素材を画面に配置する

まずは、デフォルトである猫のキャラクターは使わないので、削除します。

先ほど、ダウンロードした素材を2つ選んで、スクラッチに入れましょう。

次に、背景を選びます。

背景は「stars」と検索して、星空の背景にしましょう。

仕上げに、インベーダーとプレイヤーの位置をずらしておきます。
【スクラッチ】シューティングゲームの作り方②プレイヤーを左右に動かす
まず、プレイヤーを選択した上で、「イベント」の旗マークを押されたとき、下記のように移動させておきます。

まず、最初に右方向に移動させるプログラムを書いていきます。

次に、「制御」の「ずっと」と「もし〜なら」を持ってきて、旗マークの直下に入れておきます。

次に、「調べる」の「スペースキーが押された」を「もし〜なら」の「〜」の部分に入れましょう。

さらに、「動き」の「x座標を10ずつ変える」を「もし〜なら」の中に入れます。

そして、「ずっと」の中に入っていたブロックを一旦外に出してください。
右クリックでコピーした後、左向き方向の動きを作るために、「左向き矢印」に変更し、x座標は-4に直しましょう。

そして、右方向と左方向の動きのプログラムを合わせて、「ずっと」の中に入れておきましょう。
これで、プレイヤーの左右の動きが完成しました。
【スクラッチ】シューティングゲームの作り方③ブレッド(弾丸)を作る
ブレッド(弾丸)を作るには、スクラッチに元からある「描く」機能を使いましょう。

まずは、画面右下にある「描く」を選びます。

□のマークを押して、好きな上記のように長方形を作ります。
ビットマップ→ベクターに変換していますが、どちらでも長方形を描くことはできます。

ブレッドの色は、真っ白にしたいので、「塗りつぶし」を選んで、「色」と「鮮やかさ」を0にしましょう。

ブレッドの色を白にしたら、スプライトの名前を「ブレッド」と名前を変えておきましょう。

最後に、現状だと大きすぎるので、ゲーム開始時に小さくなるようにします。
上記のように、弾丸のスプライトを選択した上で、「大きさ100%にする」を真ん中に持ってきて、20%にしておきましょう。
実際の大きさと比べて、10%や30%など、微調整してください。
【スクラッチ】シューティングゲームの作り方④ブレッドを発射する
次に、プレイヤーから弾丸を発射するプログラムを書いていきます。

制御の「もし〜なら」の中に、「スペースキーが押された」を入れてください。

「もし〜なら」の下に、「自分自身のクローンを作る」を入れます。
そして、「自分自身」→「ブレッド」に変更してください。

次に、ブレッドのスプライトを選択します。
そして、上記の写真のように、制御の「クローンされたとき」を置きます。
その下に、動きの「どこかの場所へ行く」を移動させ、プレイヤーに変更しましょう。
さらに、制御の「ずっと」と動きの「y座標を10ずつ変える」を配置しておいてください。

現状では、発射ができても、消えることがありません。
そのため、指定の場所にブレッドが来たら消えるようにしましょう。

上記のように、演算の「>(大なり)」の不等号を「もし〜なら」に入れておきます。
そして、数字を175に変えます。
さらに、「もし〜なら」の下に「このクローンを削除する」を入れてください。
ここまでくれば、ブレッドを発射して、画面の上まで到達したら自動で消えるようになるはずです。

現状では、スペースキーを押し続けたら、ブレッドが1列につながって出てくるはずです。
これを、1発ずつ出るように調整しましょう。

ここでは、0.3秒ごとにブレッドを発射できるようにしましょう。
プレイヤーのスプライトを選択した上で、上記のように、制御の「1秒待つ」を配置します。
そして、0.3秒に変更しておけば、連続してブレッドが表示されることはなくなります。

最後に、ゲーム開始時はブレッドを隠して、クローンされた時に表示するようにしておきましょう。
【スクラッチ】シューティングゲームの作り方⑤インベーダーの動きを作る
次に、インベーダーの左右に動くようにプログラムを作りましょう。

上記のように、クリックを押したら、表示して「ずっと」と「ブレッドに触れたら、隠す」を実行できるように、ブロックを配置してください。

現状では、当たり判定だけなので、左右に動くようにします。

上記のように、回転方向を左右のみにして、「ずっと」の中に、5歩動かして、もし端に着いたら、跳ね返るようにしましょう。

さらに、斜めに移動させるために、「90度向ける」を持ってきて、「1から10までの乱数」を中に入れます。
そして、0〜360度に値を変更しましょう。
乱数とは、ランダムの数字を意味します。
ここでは、0~360にしているので、ある時は10度、別の時は120度…と本当にバラバラです。

最後に、プレイヤーに当たったら、ゲームオーバーになるように設定します。
上記のように、インベーダー1に触れたら、ゲームオーバーと言い、すべてのプログラムを止めましょう。
これで、ひとまずこの記事でのゲームは完成となります。
まとめ:ゲームが完成できたら、後編も頑張ろう!
ここまで、シューティングゲームの作り方を解説してきました。
この記事の通りにゲームを作れば、インベーダーとプレイヤーの動きの基本を作ることができましたね。
次回は、インベーダーを3体に増やしてよりゲーム性を高めていきます。
もっと、ゲームをかっこよくしたい方は、ぜひ続きもご覧になってください。
画像は、私が作った完全オリジナルの素材です。
どのような用途で使用しても構いませんので、安心してお使いください!