【Unity】モンスト風ゲームを作る その4 敵キャラ追加編

【Unityの練習ゲーム作り 第二弾!】

大人気アプリ モンスト風のゲームを、Unityの練習で作ってみます。

その1 大まかな設計を考えました
その2 自キャラの動きを実装しました
その3 敵キャラを追加し、ターン制を実装しました

今回は さらに敵キャラを追加したときの管理を考えてみます。

ゲーム内容の変更

モンスト風のゲームを作ってきましたが、モンストの内容そのままを実装するのは さすがに難しいです。

そこで、以下のようにゲーム内容を単純化することにしました。

  • 敵の出現:場所,敵種,数をランダム
  • ゲーム開始時と、全滅時に新たに敵が出現
  • 敵は3種:通常タイプ,攻撃特化タイプ,回復タイプ

敵キャラのコントロール

敵キャラの追加

早速 新たに敵キャラを作っていきます。

複数の敵キャラに共通部分があるため、オブジェクト指向的に作るのが良いかと思いましたが、慣れないことを最初からやるより 自分のわかり易さを優先することにしました。

それぞれの敵キャラをコントロールするスクリプトです。

●通常タイプ

●攻撃特化タイプ(通常攻撃タイプと異なる部分のみ表示)

●回復タイプ


セクションごとに見ていきます。

ここは、体力がゼロになったときにオブジェクトを開始し、敵キャラの数を減らしています。

回復タイプは、他タイプキャラが存在するときに その体力を回復します。

敵キャラのコントロール

ここでは、敵の生成と敵キャラターンの行動をコントロールしています。


はじめに敵の生成です。

enemyCount[] には3種の敵キャラの数を保管しており、敵の数が0になったときに 敵を新たに生成します。


続いて敵のターン制御。

敵の数だけ、敵の攻撃関数を呼び出します。

自キャラコントロール

前回からの変更点は、敵キャラにぶつかったときのダメージの制御です。

動作

敵を全滅させると、敵がランダムに新生成されます。

(これってモンストじゃなくて、ブロック崩しでは…)

反省

今回の方法だと、例えば 通常攻撃タイプ同士を識別できません。

また敵種が増えるたびに、使用タグと関数が増えます。

うーん、こういう時どうするんだろう…?配列で管理するのかな?

「敵キャラの生成」を調べて、次回のゲームでは活かしたいです。

次回は、HPのバー表示やSEを入れていきます。