2DRPGの作り方16 Unityでドラクエ風ターン制戦闘システムを作る

Unity C# 2DRPGゲームの作り方 ~ドラクエ風レトロRPGを作ろう!~


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

前回まででアイテムショップ・道具屋の処理を作成しました。

前回の記事:

2DRPGの作り方15 UnityとC#で道具屋(アイテムショップ)を作ろう
前回の記事ではRPGに欠かせない宿屋(回復イベント)にあたる処理を作成しました。 前回の記事: 今回の記事ではアイテムショップとなる道具屋を作っていきます。 消費系のアイテムだけでなく、武器・防具の売買処理も作成します。 道具屋...

アイテムを手に入れたり武器・防具を装備できるようになったら今度はそれを使う場面を作りましょう。

今回の記事からはRPGでオーソドックスなドラクエ風のターン制戦闘を作成していきます。

敵は複数人対応でプレイヤー側は一人で戦うRPGでそのまま使える戦闘システムを構築します。

改造次第ではプレイヤー側も複数対応できるでしょう。


【Line登録者限定のプレゼントもあるよ!】

ターン制戦闘システム用のGameObjectの作成

それではまず、戦闘シーンで必要になるものをシーンへ配置していきます。

次のようにGameObjectをシーンに追加してください。

  • BattleWindow:UI > Canvas
  • – Enemies:空のGameObject
  • – MainCommands:UI > Image
  • – – Attack:「MenuItem」プレハブ
  • – – Defense:「MenuItem」プレハブ
  • – – Items:「MenuItem」プレハブ
  • – – Escape:「MenuItem」プレハブ
  • – Items:UI > Image
  • – – Item1:「MenuItem」プレハブ
  • – – Item2:「MenuItem」プレハブ
  • – – Item3:「MenuItem」プレハブ
  • – – Item4:「MenuItem」プレハブ
  • – Description:UI > Image
  • – – Text:UI > Text
  • – Parameters : UI > Image
  • – – HP : 「ParameterItem」プレハブ
  • – – ATK : 「ParameterItem」プレハブ
  • – – DEF : 「ParameterItem」プレハブ

この中の「MainCommands」は「MenuWindow > Commands」と内容が似ているのでコピーしたものを編集するのが簡単です。

また、「Items」は「MenuWindow > ItemInventory」と、「Description」も「MenuWindow > Description」、「Parameters」は「MenuWindow > Parameters」と内容が似ているのでそれぞれコピーしたものを修正するのが簡単です。

GameObjectを作成できたら、次のようにパラメータを設定してください。

「Enemies」は次のように設定してください。

「MainCommands」は次のように設定してください。

「Items」は次のように設定してください。

「Parameters」は次のように設定してください。

記事では設定が終わると以下の画像のようになります。

戦闘シーンに使う敵プレハブの作成

敵のプレハブを作成していきます。

敵の画像は次のものから使用していきますので、プロジェクトにインポートして適切にスプライト分割してください。

(※今回利用する画像はぴぽや倉庫様(https://pipoya.net/)の素材となります)

それでは実際に敵のプレハブを作成していきます。

「Enemy」という名前のGameObjectを「Enemies」の子の空のGameObjectとして作成し、次のようなGameObject階層にしてください。

  • Enemy:空のGameObject
  • – Image:UI > Image
  • – Info:空のGameObject
  • – – Cursor:UI > Image
  • – – Name:UI > Text

作成できたら各パラメータを次のようにしてください。

基本的に「MenuItem」プレハブと同じような設定にしていきます。

記事では見た目は以下の画像のようになります。

「Enemy」プレハブを作成したら、シーンの「BattleWindow > Enemys」の子GameObjectに追加してください。

実際にはゲーム中の処理では敵の数に応じて「Enemy」プレハブを複製していくので、シーンに配置したものは削除されます。見た目の確認に使用してください。

戦闘シーン用のスクリプトの作成

シーンに必要なGameObjectを配置したので、次は戦闘シーンに必要なスクリプトを作成していきます。

「BattleWindow」という名前のスクリプトを新しく作成してください。保存先はお好みでOKですが、記事ではAssets > Scriptsに保存しています。

内容は次のようにしてください。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.stores.jp/)で講座閲覧権を取得してね。

追記:アイテム使用時のかいふくやくの文字が入り切ってないので気になる場合はItemsの幅を広げてあげましょう。

まとめ

今回の記事ではRPG制作で使う戦闘用の画面を作成しました。

次からは実際に敵と戦闘できるようにしていきます。

今回の内容を簡単にまとめると以下のようになります。

  • シーンに戦闘用のGameObjectを追加した。
  • 敵プレハブを作成した
  • 「BattleWindow」コンポーネントで戦闘を管理するようにした。

それでは次の記事に行ってみましょう!

2DRPGの作り方17 ターン制戦闘のコマンド入力をUnityとC#で実装する
前回の記事ではターン制戦闘システムに必要なアセットやGameObjectを作成し、基本となる戦闘画面の作成を行いました。 前回の記事: 今回の記事では敵オブジェクトの中身を作り、実際にプレイヤーと敵で戦闘できるようにコマンド「こうげ...

「Unity 2DRPGゲームの作り方講座」に戻る>>



Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き


【Line登録者限定のプレゼントもあるよ!】

コメント

タイトルとURLをコピーしました