画像のようなシステムのゲームを作りたいです。
どのようなノードを組めば実装可能でしょうか。
オーバーラップするとアイテムが消える、別のレベルに移動する、などはできるのですが変数の使い方がわからず、場合分けができません。
漠然とした質問で申し訳ありませんがご助力いただけると幸いです。
流石に変数の使い方がわからないと言われるとフォーラム上での回答は困難かと。
仮に回答出来たとしても変数の使い方がわからないとすぐ同様の問題で躓くと思われるので基本的な変数の使い方について勉強してもらったうえで一度自分で組んでみて、上手くいかなかったら自分で組んだノードを画像として張り付けて再度質問してください。
@1902
この説明ではレベル間で変数を保持したい場合の方法について説明します。
-
レベル間で変数を保持できるBPを作成
コンテンツブラウザで右クリック→ブループリントクラス
→すべてのクラス→検索に「gameinstance」と入力→GameInstanceを選択
プロジェクト設定
→マップ&モード→GameInstance→ゲームインスタンスクラスに作成したBPを割り当てます。
持っているアイテム数の変数を作ります。
BPを開いて、「変数」の右側の+を押すことで変数を追加できます。
変数の名前を決めて、変数の型はIntegerにしておきましょう。
-
アイテム数の更新の処理
オーバーラップするとアイテムが消える処理は作れるようなので、消える処理の前に、
このBPを入れましょう。
cast toの後は作成したゲームインスタンス、Asからゲームインスタンス内に作成したBPを選択します。 -
門のBP
まず、処理の流れとしてはこのようになります。
親クラスはActorで門のBPを作成し、2つの変数を作成します。
上が目標アイテム数を設定する変数、下が今開いているレベル名を保存する変数です。
フローチャートの上の処理は
このように、開始したレベルによって目標アイテム数を設定する処理
下の処理は
オーバーラップ時にアイテム数が目標アイテム数より上なら次のレベルに進むというものです。
アイテム数が目標アイテム数より上ではなく、以上ということでしたので、>ではなく、≧(Greater Equal)でした。申し訳ありません。
テストプレイ
レベルAー紫 レベルBー黄緑 レベルCー黄
キューブが門
それぞれのレベルに門のBPを配置
所持アイテム数(ゲームインスタンスの変数)20スタート
このようにAではオーバーラップしてBに移動できましたが、Bでは数が足らずに移動できませんでした。
所持アイテム数が30以上の状態であれば、Cにも移動できます。(テスト済み)
説明がずれていたら申し訳ありません。
分からない点があれば聞いてください。
2 Likes
This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.