※ 当ページには【広告/PR】を含む場合があります。
2022/09/24
Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる
Scratchから始めるシューティングゲームの作り方⑨〜オープニング&エンディング画面・複数の攻略ステージを作る
シューティングゲームとしてじっくりと楽しんで貰えるために、やはりいくつのも攻略するステージがあったほうが当然盛り上がります。攻略ステージの節目節目に登場するのが、特別な敵である「ステージボス」の存在です。前回のシューティングの作成までで、だいぶゲームのらしい機能を盛り込んでいきました。Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる倒した敵から取得できるドロップアイテムでプレーヤーを強化する方法を解説します。
今回は、いよいよScratchでのシューティングゲーム作りも終盤戦ということで、「ステージボス」をステージの終わりに登場させる手順を以下の前回のScratchプロジェクトを改造しながら詳しくみていきましょう。参考|シューティングゲーム⑦
【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ
ステージボスのスプライトを追加する
一般的なシューティングゲームにおいて、ステージボスと、他の普通の敵との大きな違いは、「画面の枠に当たってもクローンが消えない」というところにあります。また画面に登場させるときに、何かしらの演出もプログラムとして盛り込む必要もあります。以前の『ステージに敵を配置する・高度な当たり判定を設定する』回で敵がシーン中に出現する座標をリストでまとめたものを導入しました。Scratchから始めるシューティングゲームの作り方⑥〜ステージに敵を配置する・高度な当たり判定を設定するScratchシューティングゲームで敵の出現ポイントと当たり判定をさらに高度化します。
ということで、敵を新しくゲームに追加する要領で、ライブラリから適当な画像を選んで、ボス1
という名前でスプライトを新しく追加してみましょう。ボスのスプライトを追加したら、背景
のスプライトに切り替えて、以前の回で作っていた「敵の出現ポイント」・「敵の種類」・「ドロップアイテム」の3つの出現リストの一番下に以下のような項目を追加します。ステージボスですので、スクロールしていた背景が止まった端の位置(ここでは「4800」
)になったときにボスを登場させるようにしています。そして、ボスの敵タイプの番号は新たに「6」
に決めます。また、シューティングゲームのステージのクリア条件を決めていなかったので、このケームではボスを撃破したらドロップするアイテムをゲットしたらステージクリアとしましょう。そのクリアのためのドロップアイテムの番号は「5」
とします。では背景
のスプライトが、ボスを呼べるように以下の図のように、赤枠で囲った箇所のブロックコードを挿入してみましょう。これまでの敵の呼び出し方と同じように、出現リストでボスの番号になったときに、背景
のスプライトはボス1
のスプライトのクローンを作ることはできるようになります。ではボス1
のスプライトのほうも手始めに、以下のように初期化とクローンしたときのブロックコードだけ、ひとまず追加しておきます。まだボスは何もしないですが、このままゲームを実行すると、ステージの最後にボスがきちんと登場するようになりました。
【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ
ボスの登場の場面を演出する・当たり判定を作る
次にボスの登場の際には、通常の敵とは違う存在感を持つように、その登場を演出してみましょう。ステージに登場する直前はゆっくりと動かす
プレーヤーがステージの端にたどりつくと、右からボスがゆっくり画面にインしてくるような簡単な動きを作ります。またボスの登場の演出中、問答無用でボスのライフがプレーヤーの弾で削れてしまうのを避けるため、画面に入ってきてから戦闘態勢に入る間は、ダメージを受けない無敵状態にします。ゆっくりと画面に入るときには、ダメージのロジックを付けていないので、まだボスのライフが減ることはありません。ボスの当たり判定
ステージボスとプレーヤー・弾の当たり判定は、以前の記事で解説していた「耐久性ある敵」のコードの実装方法と変わらないので、詳しくはそちらの内容を良く理解してみてください。ボスは普通の敵と比べて、ライフが圧倒的に高いことが特徴です。ここではボスのライフを適当なところで「100」
程度にしておきます。上の図の赤色の枠を追加して、「プレーヤーとの当たり判定」と「弾との当たり判定」を実装しました。この状態でゲームを動かすと、たしかに弾を100回当てれば(全く動かない)ボスも倒すことができます。またこのままでは弾とボスの当たり判定で、弾がボスに当たっても消えないので、以下のように弾1
・弾2
・弾3
のスプライトのコードブロックに、ボスとの当たり条件も忘れずに更新しておきましょう。
【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ
ステージクリアのためのアイテムを作成する
ボスの攻撃パターンを作る前に、ボス撃破後のステージクリア用のアイテムをドロップさせる方を先にコードへ実装します。なお、アイテムをドロップさせる話は以前のブログで説明しておりましたので、詳しいテクニックの内容はそちらでご確認ください。Scratchから始めるシューティングゲームの作り方⑦〜敵の落としたアイテムでパワーアップさせてみる倒した敵から取得できるドロップアイテムでプレーヤーを強化する方法を解説します。
まずアイテム
のスプライトに、適当なコスチュームを追加しておきます。そしてさらに、アイテム
のスプライトコードに、アイテム番号が「5」
のときのコスチュームとして登録しておきます。さらに、ステージクリアアイテムとそうでない通常のアイテムとで、処理を分離させます。上の図の①の部分で、_ドロップアイテム = 5
のときだけ特別に処理させます。②の箇所で、ステージクリアアイテムの拾ったときの処理で、例えばゲームのクリア後のエンディング画面であったり、次のステージへ切り替えるなどのコードを実装します。なお、このブロク記事の次回以降で、ゲームステージを増やす話を紹介しようと思いますが、今回はステージアイテムを取ったらプログラムが終了するだけにしています。あとは、ボス
のスプライトの処理で、撃破後にアイテムがドロップするような処理ブロックを追加するだけです。これで、ボスを倒した後で残すアイテムを取ると、ステージクリアが可能になりました。
【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ
ボスの攻撃パターン・動きを実装する
ではボスの攻撃と動きのパターンを作り込んでいきます。シューティングゲームとしては、より動きのパターンが複雑化したり、素早く動くほどに難易度が高くなります。最初のステージなのでさほど難しく無い程度にほどほどの上下左右に動きまわるパターンを作成しましょう。ボスの動きは複雑で長めのブロックコードになることが多いので、先に定義ブロックを作成しておきます。単純に上下左右に動くだけのパターンの例として以下のようなブロックコードを仕込んでみます。単純な動きにも関わらず、割と長いコードになってしまいます。とりあえずボスの動きを作ったので、これをボス
のクローンのループ処理に入れるですが、当たり判定との並行処理をさせる必要があり、単純にループ処理のブロックに入れることが出来ません。そこで、イベントを新しく作成して、ボスの動きだけを独立して担当する別のループ処理を作成して対応します。イベントを上手く利用することで、同じスプライトやクローンでも2つ以上の処理を並行して行えるように出来ます。上の図のように、ボス
のクローンのメインループ処理に入る直前に[ボスの動き]を送る
ブロックを挿入すると同時に、[ボスの動き]を受け取ったとき
のイベント開始ブロックで別のループ処理を発生させています。これでようやくボスがパターン攻撃を仕掛けてくるようになりました。
【Pschool厳選】Scratchをしっかり学ぶためのオススメ書籍まとめ
まとめ
以上、今回のScratchシューティングゲームの改造内容をひとまとめにしたものは以下のようになります。※まだ正式な初期化処理(ロード処理)を実装してないので、最初にゲームをスタートするとスペースキーを押しても弾が出ない場合があります。そんなときはお手数ですが、一旦プログラムをストップして、もう一度スタートしてみてください。ボスの動きや攻略難易度はアイデア次第で、いろんな調整が考えられますが、あまりにも強力すぎるような動きでは、誰も攻略することができずに、プレーヤーとしては逆に飽きられてしまうかもしれません。時として、色々と他の人にも意見を聞きながら調整してみることも重要になると思います。