UE5/UE4 BPで連想配列型のMapノード(TMap)を使う(Add、Remove、Find、Keys、Values)
BPで連想配列型Mapノード(TMap)を使う方法です。
結構初歩的なことですが少し探してしまったのでメモです。
公式ドキュメントはこちら。
・Blueprint Map ノード
https://docs.unrealengine.com/4.27/ja/ProgrammingAndScripting/Blueprints/UserGuide/Maps/MapNodes/
実際の使い方についてはこちらを参考にさせていただきました。
・連想配列(Map)型について レベル【★★】
https://kinnaji.com/2020/12/28/tmapandtset/#%E9%80%A3%E6%83%B3%E9%85%8D%E5%88%97%EF%BC%88Map%EF%BC%89%E5%9E%8B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%80%E3%83%AC%E3%83%99%E3%83%AB%E3%80%90%E2%98%85%E2%98%85%E3%80%91
詳しい説明は上記サイトさんに書かれているのでこちらは手順と必要な情報のみメモしておきます。
まずは「Map型の変数」を作成します。

Mpas という名前で変数を作成しました。
変数の型としては「Key」を「FName」で。「Value」を「Integer」で設定しました。

あとは実際に使っていくだけになります。
「Add」ノード。

指定した「Key」で「Value」を配列に追加します。
「Remove」ノード。

指定した「Key」の要素を配列から削除します。
「Find」ノード。

「Key」で該当した要素から「Value」を取り出します。
「Key」が配列になかった場合は「false」を返します。
最後に「ForEeachLoop」などですべての要素を調べる方法ですが、
「Array(TArray)」型とは異なり、「Key」のみか「Value」のみを取り出して回すようです。
「Values」ノード。

配列に含まれる「Value」のすべてを配列で取得します。
「Keys」ノード。

配列に含まれる「Key」のすべてを配列で取得します。
と、たぶんこれだけ覚えておけば通常の使い方としては問題ないのかなと思います。
結構初歩的なことですが少し探してしまったのでメモです。
公式ドキュメントはこちら。
・Blueprint Map ノード
https://docs.unrealengine.com/4.27/ja/ProgrammingAndScripting/Blueprints/UserGuide/Maps/MapNodes/
実際の使い方についてはこちらを参考にさせていただきました。
・連想配列(Map)型について レベル【★★】
https://kinnaji.com/2020/12/28/tmapandtset/#%E9%80%A3%E6%83%B3%E9%85%8D%E5%88%97%EF%BC%88Map%EF%BC%89%E5%9E%8B%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E3%80%80%E3%83%AC%E3%83%99%E3%83%AB%E3%80%90%E2%98%85%E2%98%85%E3%80%91
詳しい説明は上記サイトさんに書かれているのでこちらは手順と必要な情報のみメモしておきます。
まずは「Map型の変数」を作成します。

Mpas という名前で変数を作成しました。
変数の型としては「Key」を「FName」で。「Value」を「Integer」で設定しました。

あとは実際に使っていくだけになります。
「Add」ノード。

指定した「Key」で「Value」を配列に追加します。
「Remove」ノード。

指定した「Key」の要素を配列から削除します。
「Find」ノード。

「Key」で該当した要素から「Value」を取り出します。
「Key」が配列になかった場合は「false」を返します。
最後に「ForEeachLoop」などですべての要素を調べる方法ですが、
「Array(TArray)」型とは異なり、「Key」のみか「Value」のみを取り出して回すようです。
「Values」ノード。

配列に含まれる「Value」のすべてを配列で取得します。
「Keys」ノード。

配列に含まれる「Key」のすべてを配列で取得します。
と、たぶんこれだけ覚えておけば通常の使い方としては問題ないのかなと思います。
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑