現場レベルのゲーム制作が、すべてここで学べます。
この記事はSlay the Spire風デッキ構築系ローグライト要素を持つオリジナルJRPGを作る講座の第7回です。
前回はカード取得イベントのUIを作成し、報酬カードの選択から決定までの一連の処理をC#スクリプトで実装しました
前回の記事:

元々のノンフィールドRPG「果てなきダンジョン」では前進すればランダムで戦闘が発生するだけでしたが、この講座では左右の選択肢が与えられ、戦闘以外のイベントも発生するようにします。
そのため、今何が起きてるかをプレイヤーにテキストで表示する画面が新しく必要になります。

↑例えばこのような画面を後の章を含めて作り上げますが、イベントの説明やカードの情報を表示している文章が確認できます。
第7回ではこうしたイベントやカード情報を表示する汎用ポップアップUIを作成します。
イベント情報表示UIの作成
イベント(回復イベント・食料取得イベント)やカードや状態異常、レリックの内容を表示するUIを作成します。
Hierarchyビューで右クリックし、[UI(Canvas)]→[Canvas]をクリックします。
新しく作成された[Canvas]オブジェクトの名前を[Information]に変更し、Inspectorビューを開いて下の画像のように変更します。

※ Sort Orderの値を3にしています(後の章で取得したカードの一覧を表示するUIにSort Order 2を設定する予定です。そのリストのカードをクリックしたら、今回作成していく情報表示UIを表示します。そのためこのUIのSort Orderを3にしています。)
背景(モーダル)
次に[Information]オブジェクトを右クリックして、[UI(Canvas)]→[Image]をクリックします。
新しく作成された[Image]オブジェクトの名前を[Modal]に変更し、Inspectorビューを開いて下の画像のように変更します。

メイン画像を表示
[Modal]オブジェクトを右クリックして、[UI(Canvas)]→[Image]をクリックします。新しく作成された[Image]オブジェクトのInspectorビューを開いて下の画像のように変更します。

キャプションを表示
[Modal]オブジェクトを右クリックして、[UI(Canvas)]→[Text – TextMeshPro]をクリックします。新しく作成された[Text (TMP)]オブジェクトのInspectorビューを開いて下の画像のように変更します。

※ Textの”キャプション”という文字は削除して空白でも構いません
情報を表示
さきほど作った[Caption]オブジェクトを右クリックして、[Duplicate]をクリックします。
コピーが作成されるのでそのオブジェクトのInspectorビューを表示して、下の画像のとおり変更します。

閉じるボタン
閉じるボタンはプレハブにしたRewardCardの[Confirm]オブジェクトをコピーします。

RewardCardプレハブにある[Confirm]オブジェクトを右クリックしてCopyをクリックします。
RewardCardプレハブの左上にある[<]をクリックして、プレハブモードを終了します。

Hierarchyビューにある[Information]→[Modal]→[Info]オブジェクトを右クリックして、[Paste]をクリックします。すると[Info]オブジェクトと同じ階層に[Confirm]オブジェクトがコピーされます。
[Confirm]オブジェクトの名前を[Close]に変更し、子オブジェクトのテキストを”閉じる”に変更します。
情報表示UIを操作するスクリプト
[Assets/Scripts]フォルダを選択して右クリックし、[Create]→[Scripting]→[MonoBehaviour Script]をクリックします。スクリプトファイルの名前を「InformationController」とします。
InformationController.cs
InformationControllerは、今回作成したUIである画像・タイトル・説明文を表示する汎用的な情報ポップアップを制御するクラスです。
まとめ
今回はイベント、カード、レリック情報などを表示するための「情報表示UI」を作成し、C#スクリプト処理を実装し、プレハブにしました。
また、そのプレハブをGameManagerに紐づけることで後の章で情報表示UIを使うための準備を行いました。本記事の導入部で示したポップアップ画面として使うためにデータの流し込みや各UI間の処理の連結などを今後行っていきます。
次回はダンジョンの移動処理をイベント選択式に刷新し、左右の分岐で敵遭遇・レリック取得・カード報酬・回復・食料などさまざまなイベントが発生する仕組みを実装します。一本道のランダムエンカウントから、プレイヤーが戦略的にルートを選べるローグライト型のダンジョン探索へと大幅アップデートされます。
次の記事:

現場レベルのゲーム制作が、すべてここで学べます。






コメント