UE4においての繰り返し処理
いよいよプログラミングの肝である繰り返しです
「PrintString」を使ったことがない方は前回の記事を参考に予習してきてください。
UE4においての四則演算
2. 繰り返し
#include <stdio.h> int main(void) { int i; for (i = 0; i <= 5; i++) { printf("%d\n",i); } return 0; }
UE4においての繰り返しは基本的に「ForLoop」を使います。
このノードは、右クリックを押して「ForLoop」と入力してください。
また、「PrintString」ノードを1つ準備してください。
そしたら、ノードをつなげましょう。また、「ForLoop」内の数字を「0~5」に設定します。
「コンパイル」と「保存」を押してください。そしたら実行してみましょう。
きちんと繰り返しがされましたね。
3. 配列
続いて、繰り返しの本領が発揮される配列と組み合わせて使ってみましょう。まずは、配列の使い方です。
前回に変数を作ったのと同じように「Integer」型の変数を作ってみてください。ここでは「Array」という名前を付けておきましょう。そして、「コンパイル」と「保存」を押してください。
黄色の四角で囲んだところをクリックして「配列」の設定に変更してください。
そして、「コンパイル」と「保存」を押してください。
これで、配列を宣言することができました。続いて初期化です。
「+」を押してデフォルト値を増やすことができるので、増やしてみてください。
次に、配列の中の値を取り出してみましょう。「Array」をイベントグラフ上に配置して「Get (a copy)」ノードをつなげます。そしたら、「2」の値にして「PrintString」ノードにつなげてみましょう。
「コンパイル」と「保存」を押してください。そしたら実行してみましょう。
「Array」の「2」番目の値が表示されました。
4. 繰り返し + 配列
いよいよ、C言語との比較です。
#include <stdio.h> int main(void) { int Array = [0, 2, 3, 1, 5]; for (i = 0; i <= 5; i++) { printf("%d\n",Array[ i ]); } return 0; }
UE4において配列にアクセスするのは非常に簡単です。
「Get (a copy)」に配列番号を渡すとその値を取り出すことができます。
3.で使った「Array」を使いまわします。ここで「Array」は「4」まで配列番号が割り当てられているので「ForLoop」は「0~4」までとします。
このようにノードをつなげます。
「コンパイル」と「保存」を押してください。そしたら実行してみましょう。
また、逐一「ForLoop」の数値を指定するのは面倒なので、ノードで配列の長さを取得して「ForLoop」の幅を決めましょう。ここでは「Array」から「LENGTH」をつなげます。そしたら、「-1」してやります。(ここでの「LENGTH」は、「0~4」の「5」が取り出されるため「-1」することによって配列の長さに設定することができます。)
もう一つ「ForEachLoop」を使うやり方があります。これは、「ForEachLoop」ノードの「Array」部分に配列をつなげば使うことができます。「Array Element」より配列の値も取り出すことができます。
これで、繰り返しの処理が分かったと思います。