ローグライクゲームの作り方6 パラメータ表示用UI・経験値・レベルアップ処理を開発する

Unity ローグライクゲームの作り方


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

前回の記事ではUnityとC#を用いてローグライクRPGの戦闘システムを実装しました。

風来のシレン、トルネコの大冒険、チョコボの不思議なダンジョンのようなターン制戦闘システムを作成しましたね。

前回の記事:

ローグライクゲームの作り方5 パラメータの実装とターン制戦闘システムを開発する
前回までの記事で敵の移動AIをUnityとC#でローグライクRPGに組み込んでいきました。 前回の記事: 今回の記事ではプレイヤーと敵がぶつかった時に戦闘するようにしていきましょう! まずは戦闘に必要なプレイヤーのステータスパラメ...

今回の記事ではプレイヤーのパラメータを画面に表示するようにしていきます。

また、戦闘の結果、プレイヤーに経験値が入るようにしてレベルアップできるようにしていきます。

段々と本格的なローグライクRPGに近づいていきますね。


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

プレイヤーのパラメータ用のUIを作成

まずはプレイヤーのパラメータを表示するUIを作成していきます。

プレイヤーのパラメータとしては新しくレベルと経験値を加え、以下のものを用意します。

  • 体力
  • 攻撃力
  • Level:この記事で新しく追加
  • 経験値:この記事で新しく追加

UIはUnity UIを使用して配置していきます。

次のような画像になるように配置してください。

上の画像のGameObjectの階層は次のようになっています。

  • 「PlayerUI」(Canvas)
  • – 「Root」(Image)
  • – – 「LevelRoot」(空のゲームオブジェクト)
  • – – – 「Label」(Text)
  • – – – 「Level」(Text)
  • – – 「LifeRoot」(空のゲームオブジェクト)
  • – – – 「Label」(Text)
  • – – – 「Life」(Text)
  • – – 「AttackRoot」(空のゲームオブジェクト)
  • – – – 「Label」(Text)
  • – – – 「Attack」(Text)
  • – – 「ExpRoot」(空のゲームオブジェクト)
  • – – – 「Label」(Text)
  • – – – 「Exp」(Text)

この中の「Level」、「Life」、「Attack」、「Exp」はスクリプトから制御します。

また各GameObjectの作成方法とパラメータの一例は次のものになります。

C#スクリプトからメニューの値を制御できるようにする

プレイヤーのパラメータを表示するためのUIが配置できたので、次はスクリプトから制御できるようにします。

新しく「PlayerUI」スクリプトを作成して、シーン上の「PlayerUI」にアタッチしてください。

「PlayerUI」スクリプトの内容は次のようにしてください。

「PlayerUI」の中ではまだ定義していない「Player」コンポーネントの「Level」フィールドを使用しています。

そこで、次に「Player」スクリプトに「Level」フィールドを追加します。「Level」フィールドはこの記事の後でも使用します。

また、パラメータを「PlayerUI」コンポーネントに反映するようにしておきます。

また「Exp」フィールドも使用しているので、そちらは「MapObjectBase」に追加してください。

最後に、PlayerUIコンポーネントのTextをPlayer UIから適切なものを選んでアタッチしてください。

敵を倒したら経験値が入るようにする

それでは次はプレイヤーが敵を倒した時に経験値が入るようにしましょう!

「Player」コンポーネントの戦闘関係のメソッドを修正し、経験値が入るようにしていきます。

この講座では敵を倒した時にその敵のExpフィールドの値分プレイヤーの経験値が上がるようにします。

次のようにスクリプトを修正してください。

続きを読む

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

まとめ

今回の記事ではプレイヤーのパラメータ表示と経験値システムとレベルアップ処理の実装を行いました。

  • プレイヤーのパラメータを表示するようにした
  • プレイヤーが敵を倒したら経験値が入るように修正
  • 一定以上の経験値が貯まるとプレイヤーのレベルが上がるように修正
  • レベルアップ時にプレイヤーのパラメータが上がるように修正

レベルアップシステムの方はとても簡単なものになっているので、実践的にはレベルデザインを通して改良していく必要がありますね。

レベルが上がるごとに次のレベルアップに必要な経験値を増やしていくなどの処理を改造して導入してみるといいでしょう。

また、最大HPなども本来入れていく必要があります。

それでは、レベルアップシステムに関してはこのあたりにして次の記事に進みましょう。

次回はプレイヤーの行動履歴を表示する自動スクロールメッセージウィンドウを作成します。

ローグライクゲームの作り方7 プレイ中の行動履歴を表示する自動メッセージ機能を開発
前回の記事ではローグライクの戦闘システムを拡張し、レベルと経験値を導入し、プレイヤーが敵を倒すと成長していくシステムを実装しました。 前回の記事: 今回の記事ではプレイ中の情報を行動履歴として表示する自動メッセージウィンドウを追加し...

Unity ローグライクゲームの作り方講座>>



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


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

コメント

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