0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Unityでつくる2DRPG ~⑫戦闘システムの設計

Last updated at Posted at 2025-12-24

はじめに

前回は、敵のデータを作成しました。

今回は、戦闘システムの設計を解説します。
どのような仕組みで動かすのか、実際にシステムを作る前に紹介します。

戦闘システム全体の流れ

以下のような手順で戦闘が行われます

①戦闘の呼び出し
SceneManager.csに戦闘を呼び出す関数を追加。プレイヤーが一歩移動するごとにランダムで戦闘に入る。

②UIのセットアップ
戦闘に必要なUIを表示する。
具体的には、

・敵味方の立ち絵
・味方のステータスを表示するUI
・メッセージウィンドウ

が表示される。

③味方の行動選択
専用のメニューを表示し、「こうげき」「まほう」などの選択肢を出す。

十字キー操作で行動を選択する。
選択が完了したら、次の処理に進む。

④行動順の決定
敵味方全体のうち、素早さが早いキャラを先頭に行動順を組み立てる。

⑤行動の実行
決めた順に行動を行う。
行動に合わせ、各キャラのパラメータを増減させる。

⑥戦闘終了の判断
敵全体、もしくは味方のHPが0になった場合、戦闘を終了させる。

勝利時には、お金や経験値の獲得処理がなされる。

必要なもの

戦闘システムを作るために、以下のものを用意します。

スクリプト
・BattleManager.cs
戦闘全般を管理する。

・MagicPageArrow.cs
使用する魔法を決定するメニューにおいて、ページを切り替える処理を行うために必要なスクリプト。

UI
・PlayerStatusPanel
プレイヤーのステータス(HP等)を表示するためのUI。画面上部に設置する。

・EnemiesContainer
敵オブジェクトを並べるためのUI。画面中央に設置する。

・AlliesContainer
味方オブジェクトを並べるためのUI。画面中央に設置する。

・MessageWindow
各種メッセージを表示するためのUI。表示する内容はBattleManager.csによって管理される。

・ActionMenuPanel
味方の行動を決定するためのUI。「こうげき」「まほう」「アイテム」「にげる」の4つの選択肢がある。

・MagicMenuPanel
使用する魔法を決定するためのUI。

・ItemMenuPanel
使用するアイテムを決定するためのUI。

・TargetMenuPanel
攻撃の対象となるキャラを決めるためのUI。

プレハブ
・PlayerStatusEntry
プレイヤーのステータスを表示するためのプレハブ。

・allyPortraitPrefab
味方の立ち絵を表示するためのプレハブ。

・enemyPortraitPrefab
敵の立ち絵を表示するためのプレハブ。

・magicArrow
魔法メニューでページを切り替えるためのプレハブ。

・MenuOption
行動選択メニューなどにおいて、メニューの項目となるプレハブ。

おわり

今回は、戦闘システムの設計について紹介しました。

次回からは、実際に戦闘システムを作っていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?