Unity で 2DRPG のバトルシーンを実装する方法について、独学ですが実装方法をまとめてみました。
事前に準備が必要なもの
- 戦闘時の背景画像
- 戦闘時のキャラクター画像
- 戦闘時の敵画像
- 攻撃時のアニメーション
- BGM
- 効果音
敵Prefabの作成
敵画像の取得
以下のサイトから敵画像を取得しました。
www.irasutoya.com
ゲームオブジェクトにコンポーネント追加
SpriteRenderer設定
- 取得した敵画像を登録
- SortingLayer設定
事前にSortingLayersを以下のように登録しておきます。
SortingLayerを「Battle Chars」にします。
BattleCharスクリプト追加
キャラクタの設定を行います。
- プレイヤーかどうか
- 攻撃のパターン
- 名前
- 戦闘時のHP
- HPのMax値
- 戦闘時のMP
- MPのMax値
- 力
- 防御
- 武器の力
- 防具の値
- 画像
- 死んでる時の画像
- 生きてる時の画像
Prefab作成
obake という Prefab を作成します。
プレイヤーPrefabの作成
BattleManagerの設定
ざっくり以下の設定を行います。
- 戦闘時の背景
- プレイヤーの配置
- 敵の配置
- プレイヤーprefabの登録
- 敵prefabの登録
- 魔法的な攻撃の登録
- ParticleSystemの登録
- ダメージ処理のスクリプト追加
- プレイヤー情報表示(名前/HP/MP)
- 敵名の表示情報追加
- プレイヤーのHPの表示情報追加
- 敵の表示情報追加
- 魔法を選択する部分を設定
- 逃走の確立指定
- アイテムの表示位置指定
- ゲームオーバーシーン指定
- 報酬(経験値)
- 報酬アイテム
- 逃げる(可能/不可能)フラグ
接触すると戦闘するゲームオブジェクトの作成
ゲームオブジェクトにコンポーネント追加
「Box Collider 2D」を追加
「Box Collider 2D」を追加し、「Is Trigger」にチェックを入れます。
BattleStater スクリプトを追加します。
BattleStaterというスクリプトを事前に作成し追加します。
(スクリプトについては後日)
背景画像や敵情報、報酬等々を設定します。
プレイ動画
戦闘シーンの動画をアップロードしました。
www.youtube.com