【Unity入門】ifで条件分岐をしてみる

2021年10月15日

ifとは

ifとは条件分岐をするための文法です。

条件分岐というのは『条件に応じて異なる処理をする』ことをいいます。

ifは

if (条件1)
{
  条件1の処理
}
else if (条件2)
{
  条件2の処理
}
else
{
    それ以外の処理
}

といったように記述します。

実際に使ってみる

準備

それでは、ifを使ってみましょう。

まずは、以前作成した、『C# Basics』というプロジェクトを開いてください。

『C# Basics』を開いたらifを使うシーンを作りましょう。

Scenesフォルダの中に作成します。

ProjectウィンドウでScenesフォルダを選択しましょう。

選択した状態で『+』ボタンを押します。

色々と出てくるので、『Scene』をクリックしましょう。

すると、Scenesフォルダの中に新しくSceneが作成されます。

Sceneの名前を『If』に変更しておきましょう。

今回は『If』の中でクラスを作りたいので、Sceneを移動します。

『If』をダブルクリックしましょう。

すると、Sceceを移動することができます。

Hierarchyウィンドウを見ると、現在のSceneが『If』に変わっていますね。

次にifを使うためのスクリプトを作っておきましょう。

Scriptsフォルダを選択してください。

選択した状態で『+』ボタンを押しましょう。

色々と出てくるので『C# Scripts』を選択します。

すると、新しくスクリプトが作成されます。

名前が確定してしまう前に『IfScript』と変更します。

名前を変更したら、スクリプトを編集していきましょう。

IfScriptをダブルクリックしてください。

すると、VIsual Studioが起動して、IfScriptを編集できるようになります。

スクリプトはScene上にあるオブジェクトに追加することで呼び出されるので、適当に追加しておきましょう。

IfScriptをMain Cameraにドラッグ&ドロップします。

すると、Main CameraにIfScriptが追加されます。

ifを使ってみる

それでは、ifを使ってみましょう。

もし数字が10なら『数字は10』、30なら『数字は30』、それ以外なら『数字は10でも30でもない』とコンソールに表示してみようと思います。

Start関数の中に

int number = 30;

if (number == 10) {
    Debug.Log(10);}
else if (number == 30) {
    Debug.Log(30);}else{
    Debug.Log(“それ以外”);
}

と記述しましょう。

コードについて説明しておきます。

まずifは一番上の条件と合致するかを確かめます。

今回は変数numberの値を『30』としているので、

一番上の条件である『number == 10』には合致しません。

一つ目の条件に合致しなかった場合、二つ目の条件と合致するかを確かめます。

二つ目の条件は『number == 30』という条件であり、条件が合致します。

なのでifの中の『Debug.Log(30)』が呼ばれ、

再生すると『30』とコンソールに出力されるはずです。

実際に『30』と出力されるのか確かめてみましょう。

スクリプトを保存して、Unityエディタに戻り、再生ボタンを押しましょう。

再生してみると、予想通りコンソールには『30』と出力されましたね。

今回はnumberという変数に『30』を入れましたが、

他の値を入れたらどうなるのか確かめてみましょう。

numberの値を『30』から『290』に変更してみてください。

このように記述した場合、『number == 10』という条件と

『number == 30』という条件には

合致しないので、elseが呼ばれます。

その結果、elseの処理である

Debug.Log(“それ以外”);

が呼ばれ、コンソールには『それ以外』と出力されるはずです。

実際にそうなるのか再生して確かめてみましょう。

スクリプトを保存し、Unityエディタに戻り、再生ボタンを押してください。

再生してみると予想した通り、『それ以外』と出力されますね。

このようにifを使えば条件に応じた処理をすることができます。