アイテム取得数の管理と別クラスBPでの参照

@1902
この説明ではレベル間で変数を保持したい場合の方法について説明します。

  1. レベル間で変数を保持できるBPを作成
    コンテンツブラウザで右クリック→ブループリントクラス


    →すべてのクラス→検索に「gameinstance」と入力→GameInstanceを選択

    プロジェクト設定
    スクリーンショット 2023-10-31 101954
    →マップ&モード→GameInstance→ゲームインスタンスクラスに作成したBPを割り当てます。

    持っているアイテム数の変数を作ります。
    BPを開いて、「変数」の右側の+を押すことで変数を追加できます。
    変数の名前を決めて、変数の型はIntegerにしておきましょう。
    image

  2. アイテム数の更新の処理
    オーバーラップするとアイテムが消える処理は作れるようなので、消える処理の前に、


    このBPを入れましょう。
    cast toの後は作成したゲームインスタンス、Asからゲームインスタンス内に作成したBPを選択します。

  3. 門のBP
    まず、処理の流れとしてはこのようになります。


    親クラスはActorで門のBPを作成し、2つの変数を作成します。
    image
    上が目標アイテム数を設定する変数、下が今開いているレベル名を保存する変数です。
    フローチャートの上の処理は

    このように、開始したレベルによって目標アイテム数を設定する処理
    下の処理は

    オーバーラップ時にアイテム数目標アイテム数より上なら次のレベルに進むというものです。
    アイテム数目標アイテム数より上ではなく、以上ということでしたので、>ではなく、≧(Greater Equal)でした。申し訳ありません。 :man_bowing:

テストプレイ
レベルAー紫 レベルBー黄緑 レベルCー黄
キューブが門
それぞれのレベルに門のBPを配置
所持アイテム数(ゲームインスタンスの変数)20スタート


このようにAではオーバーラップしてBに移動できましたが、Bでは数が足らずに移動できませんでした。
所持アイテム数が30以上の状態であれば、Cにも移動できます。(テスト済み)

説明がずれていたら申し訳ありません。
分からない点があれば聞いてください。

2 Likes