自機から弾丸を発射させます。またBGMや効果音もいれます。

BGMはこれを使います。

サイバー42 無料ダウンロード/魔王魂 フリー高音質BGM音楽素材

自機からの弾丸発射音も命中音、自機被弾のときの効果音も、上記の魔王魂 フリー効果音素材を使わせていただきましょう。

戦闘09
爆発06
戦闘18

ではさっそくはじめましょう。

では弾丸を発射させてみましょう。

発射させたら動かしたり描画する処理も必要です。Update()メソッドとDraw()メソッドに書き加えます。

次に当たり判定を考えます。あと爆発の描画もやります。

距離が両者の半径の和よりも小さい場合は命中していると考えます。この処理は敵クラスに弾丸が格納されたリストを渡しておこなわせます。

EnemyBase.IsHitedメソッドは自機の弾丸にあたったかどうかを調べるためのものです。もし自機の弾丸に当たっているのであれば仮想メソッド OnHited()が呼び出されます。

ゲーム開始以降はBGMも流します。それからスコアや残機の表示もInitGame()メソッドのなかでやってしまいましょう。

それでは当たり判定の処理を組み込んでみましょう。

爆発を描画するためのクラスを示します。基本は下記と同じです。

弾丸の当たり判定と爆発の処理 3Dっぽい縦シューティングゲームをつくる (その5)

Enemy1に命中した場合は50点を加算します。