Daiginjoのゲーム制作ブログ(UE4,C++)

ゲームの作り方から私用のメモをまとめたブログです

UE4においての条件分岐

今回は条件分岐について書いていきます

 「PrintString」を使ったことがない方は前回の記事を参考に予習してきてください。
UE4においての四則演算

1. 下準備

 前回の「UE4_Study」プロジェクトを使用します。

f:id:bigpaison:20171127015301p:plain

 そしたら、「BP_PrintString」を開いてください。

f:id:bigpaison:20171205030750p:plain

 これを、下の画像のように整理してください。

f:id:bigpaison:20171205030800p:plain

2. 条件分岐

 C言語で以下の様な処理をUE4で表現していきます。

#include <stdio.h>
#include <stdbool.h>
int main(void){
  if( true ){
   printf("True\n");
  }
  else{
   printf("False\n");
  }
  return 0;
}

  UE4においての条件分岐は「Branch」を使います。
このノードは、右クリックを押して「Branch」もしくは「if」と入力すると出せると思います。(キーボード[ B ] + 左クリック)
  また、「PrintString」ノードを2つに増やしてください。(ノードをクリックしてからキーボード[ Ctrl + W ])

f:id:bigpaison:20171205031835p:plain

 各ノードをつなげてみましょう。その後、上につながっている「PrintString」の中身を「True」、下の中身を「False」にしてください。

f:id:bigpaison:20171205031859p:plain

コンパイル」と「保存」を押してください。そしたら実行してみましょう。

f:id:bigpaison:20171205032017p:plain

 画面に「True」と表示されたと思います。

 続いて、「Branch」のチェックボックスのチェックを外して実行してください。

f:id:bigpaison:20171205032343p:plain

 今度は「False」が表示されたと思います。

f:id:bigpaison:20171205034839p:plain

 つまり、「Branch」ノードのチェックボックスの条件によって処理が変わることが分かったと思います。

3. 変数を使った条件分岐


#include <stdio.h>
#include <stdbool.h>

int main(void)
{
    bool TestBool = true;

  if( TestBool ){
   printf("True\n");
  }
  else{
   printf("False\n");
  }
  return 0;

}



 前回と同じように変数を作っていきます。今回は「Boolean」型を指定します。

f:id:bigpaison:20171205033237p:plain

 そしたら「Branch」ノードにつなげて実行しましょう。「コンパイル」と「保存」は忘れないよに。

f:id:bigpaison:20171205033333p:plain

 「True」と表示されました。

f:id:bigpaison:20171205033418p:plain

 次に、「TestBool」のデフォルト値のチェックボックスを外してください。

f:id:bigpaison:20171205033558p:plain

 次は、「False」と表示されました。

f:id:bigpaison:20171205033626p:plain

 このように変数でも「Branch」を制御できました。

4. ちなみに

 ノードは一直線ですが、「Sequence」(キーボード[ S ] + 左クリック)で上から順に処理されます。また、「FlipFlop」で[ A ]、[ B ]の処理を交互に行うことができます。よく電子回路を組む時使いますよね。
 最初のノードは「EventTick」に繋いでください。「EventTick」は1秒間に約60回呼び出されます。(次回あたりに解説します)

f:id:bigpaison:20171205035027p:plain

 これらを利用すると、画面にこんな感じで表示されます。

f:id:bigpaison:20171205034631p:plain

 いろいろノードを組み替えて処理の流れを理解してみてください。
 今回はここまでです。