Chapter 85無料公開

【BP】配列の操作

ポジTA
ポジTA
2023.05.17に更新

配列の操作

配列の基本的については1章で説明しました。

https://zenn.dev/posita33/books/ue5_starter_cpp_and_bp_001/viewer/chap_02_bp-array

このページでは配列の操作に便利なFunctionを紹介します。

配列を作成する

変数で配列を作成する

配列の変数の作り方を復習します。

変数を追加します。

変数のVariable Typeを[Array]に設定します。

[Compile]ボタンをクリックします。

Default Valueを設定します。

Index Value
[0] Hello World!
[1] 你好 世界!
[2] Bonjour le monde!
[3] Hallo Welt!
[4] こんにちは世界!

Event Graphで配列を作成する

変数を作らずに[Makye Array]ノードで配列を作成する方法について紹介します。

[Make Array]ノードを追加します。

必要としている数だけAdd Pinを作成します。

InputピンからDrag&Dropし、Make Literal (作成したいVariable Type)で検索します。
Make Literal (作成したいVariable Type)を選択します。
Make Literalノードは変数を作成せずに、Variable Typeの値を動的に作成できます。

配列のInputピンに接続するとVariableTypeが決定します。
追加したMake LiteralノードのValueに値を設定します。

ノードに値を直接入力できるVariable Typeであれば、Input Pinに直接値を入力できます。
PinごとにMake Literalノードで設定できます。

配列のElementや配列の情報を取得する

Get(a ref)

[Get(a ref)]ノードは指定したIndexのElementを参照渡しで値を取得します。

Get(a copy)

[Get(a copy)]ノードは指定したIndexのElementを値渡しで値を取得します。

Random Array Item

[Random Array Item]ノードは配列のElementの値とIndex番号をランダムに取得できます。

Random Array Item from Stream

[Random Array Item from Stream]ノードは配列のElementの値とIndex番号をランダムに取得できます。ランダムのseed値を指定できます。

Length

[Length]ノードは配列のElement数を取得できます。

Last Index

[Last Index]ノードは配列の最後のIndex番号を取得できます。

配列のElementを設定する

Set Array Elem

[Set Array Elem]ノードは指定したIndex番号のElementを別の値に設定できます。

配列のElementを追加する

Add

[Add]ノードは配列の末尾にElementを追加します。
Addノードは同じ値があっても配列の末尾にElementを追加します。

Add Unique

[Add Unique]ノードは配列内に同じ値が無ければ、配列の末尾にElementを追加します。

配列に同じ値が見つかった場合にはElementは追加されません。

Append Array

[Append Array]ノードは配列の末尾に配列を追加できます。

Insert

[Insert]ノードは指定したIndexにElementを挿入します。

配列のElementを削除する

Clear

[Clear]ノードは配列のすべてのElementを消去します。

Remove Index

[Remove Index]ノードは指定したIndexのElementを削除します。

Remove Item

[Remove Item]ノードは指定した値と一致するElementを削除します。

配列内に複数のElementが指定した値と一致した時に、一致したElementをすべて削除します。

Resize

[Resize]ノードは指定した数値の数のElement数に配列を調整します。

配列の順序を入れ替える

Shuffle

[Shuffle]ノードは配列のElementをRandomに入れ替えます。


Shuffle後に配列をPrintStringで出力した結果

Reverse

[Reverse]ノードは配列の順番を反転します。


Reverse後に配列をPrintStringで出力した結果

Swap

[Swap]ノードは指定した2つのIndexのElementを入れ替えます。


Swap後に配列をPrintStringで出力した結果

配列を調べる

Is Empty

[Is Empty]ノードは配列が空かどうかを取得できます。

条件 結果
配列が空 True
配列が空ではない False

Is Not Empty

[Is Empty]ノードは配列にElementがあるかどうかを取得できます。

条件 結果
配列が空 False
配列が空ではない True

Identical

[Identical]ノードは2つの配列の中身が同じかどうかを取得できます。

条件 結果
中身が同じ True
中身が違う False

Is Valid Index

[Is Valid Index]ノードは指定したIndexが配列の範囲内か取得できます。

条件 結果
Indexが範囲内 True
Indexが範囲外 False

Find Item

[Find Item]ノードは配列に同じ値が見つかるか取得できます。

条件 結果
値が見つかる True
値が見つからない False