Fabで販売されているコマンドRPGを制作するためのプロジェクト『Turn-Based jRPG Template』の第5回。
#5 セーブとレベル遷移
セーブシステムは、テンプレートで用意されているものがそのまま使えます。
レベル遷移にもテンプレートに便利なノードが用意されています。
セーブシステム
BP_SavePoint
セーブシステムはテンプレートに用意されているBP_SavePointを使います。
(場所: コンテンツ > TurnBasedJRPGTemplate > Blueprints > Interactables > BP_SavePoint)
これをレベルに配置するだけです。
ロードはメニュー画面にLOADという項目があります。
「SAVE」の日本語化
BP_SavePointのコンポーネントのInteractionActorを選択。
詳細の チャイルドアクタコンポーネント > Child Actor Template > デフォルト のInteraction Textを「セーブ」に書き換える。
BP_SavePointBase
セーブ完了後の「Game saved!」や、セーブ上書き時の「Do you want to overwrite an existing save game?」を日本語化するには、BP_SavePointBaseのイベントグラフを編集します。
これらは***** ウィジェットを作成のTitleやDialogue Testに記載されています。
BP_SaveUI
セーブ画面の日本語化やデザイン変更はBP_SaveUIで。
(場所: コンテンツ > TurnBasedJRPGTemplate > Blueprints > UI MainMenu > BP_SaveUI)
レベル遷移
キャラクターを別のLevelに移動させます。
遷移先には複数のPlayerStartを置き、それらにTagを付けて指定できるようにします。
遷移先のLevel Nameに{LevelNeme}#{PlayerStartTag}と入力すればPlayerStartの指定が可能です。
BP_LevelTransitionの新規作成
名前: BP_LevelTransition
・新規作成してください。
最低限必要なコンポーネントはSphere Collisionです。名前はSphere。
これにプレイヤーキャラクターが接触した時に別のLevelに移動させます。
目印が必要なら、コンポーネントにスタティックメッシュなどを追加してください。

変数
Level NameはChange Mapから「変数へ昇格」させます。
詳細の「インスタンス編集可能」にチェックを入れておきましょう。
テストプレイ
このテンプレートのデフォルトLevelであるGameplayを開きます。
既に配置してあるPlayerStartを複製し、Bossの前に配置。
そのPlayerStartを選択し、詳細のPlayer Start TagにBossと入力。
別のLevelを開く。
BP_LevelTransitionをLevelに配置。
BP_LevelTransitionを選択し、詳細のLevel Nameに「Gameplay#Boss」と入力。
つまり{LevelNeme}#{PlayerStartTag}でレベルとプレイヤースタートを指定できるわけです。
テストプレイしてBP_LevelTransitionに触れると、GameplayのBossの前に移動します。
このテンプレートは、レベル遷移した時にレベルや所持品も引き継げます。
さらに、開けた宝箱もそのままです。
コメント