kuront’s blog

主にUnityでのゲーム制作やってます。

【Unity】RPG制作 その6-敵を複数出現させる。

 現在敵は1体のみで出現しますが、今回はそれを複数出現できるように処理を実装していきます。

敵のステータスを表示するUIは敵のプレハブが子オブジェクトとして保持するようにします。

f:id:kuront:20210905121147p:plain

ゲームオブジェクト「QuestManager」の階層下に空のオブジェクト「EnemyGroupList」を作成します。同名のスクリプトを新規作成し、EnemyGroupListに貼り付けます。更に空のオブジェクト「EnemyGroup0」を作成します。そして、syクリプト「EnemyGroup」を新規作成し、オブジェクト「EnemyGroup0」に貼り付けます。

EnemyGroup.csを開いて次のように編集します。


クリックで展開

公開した配列に敵のプレハブを突っ込みます。これが1回の先頭に同時に出現する敵の組み合わせになります。

f:id:kuront:20210905125453p:plain

EnemyGroupList.csを開いて以下のように編集します。


クリックで展開

 先程プレハブにしたEnemyGroupをEnemyGroupListの配列にいれます。この配列が探索時において遭遇する敵のグループのリストになります。

敵と遭遇する処理はQuestManagerに記述しているのでそちらを編集していきます。


クリックで展開

 進むボタンを押したときに20%の確率で敵と遭遇するように変更しました。一応同時に出現する敵の数は3体までにしようと思っているので、EncountEnemyメソッドの中で敵の数で場合分けして敵を出現させるようにしています。ついでにPlayerが死んだときの処理も付け加えておきました。

 次に戦闘を開始した後の処理を書いていきます。BattleManagerを開いて次のように記述します。


クリックで展開

 敵を複数出現させるために敵の情報にindexを追加して番号で管理するようにしています。それからプレイヤーと敵の行動が素早い順で行動できるように素早さを管理するDictinaryを用意しています。上記のスクリプトではまだ正常に動作しないのですが、敵を複数出現させることはできました。

f:id:kuront:20210910153314p:plain

f:id:kuront:20210910162541p:plain

次回は行動順が正常になるように調整していきます。