【Unity】C#の基礎!if else文、switch文について学習してみよう!

Unity Unity

C#の基礎!if else文、switch文について学習してみよう!

Unityで使用する言語であるC#について解説します。

今回はif文について解説していきます。他にも、変数や配列など様々な機能の解説もしていますので、よかったらっ見ていってください。

if else文、switch文とは?

処理を分岐させたい場合に使います。

例えば、プログラムAとプログラムBがあるとします。そのプログラムを正しい(true)間違っている(false)で分岐させるものです。

これだけでは分かりにくいので、実際にやっていきましょう。

if else文

if else文は基本的に以下のように記述します。

if(条件1)
{
条件に該当した場合の処理;
}else if(条件2){
条件に該当した場合の処理;
}else{
どの条件にも該当しない場合の処理;
}

今回は、1と3を比較して正しい場合には正しいと表示され、間違っている場合には間違っていると表示されるスクリプトを用意しました。

こちらのスクリプトを実行するとデバックログに正しいと表示されます。

if(1<3)の場合

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample : MonoBehaviour
{
void Start()
{
if (1<3)
{
Debug.Log("正しい");
}
else
{
Debug.Log("間違っています");
}
}

}

こちらのスクリプトを実行するとデバックログに間違っていると表示されます。

if(1>3)の場合

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample : MonoBehaviour
{
void Start()
{
if (1>3)
{
Debug.Log("正しい");
}
else
{
Debug.Log("間違っています");
}
}

}

スクリプトの使い方

スクリプトはAssetsフォルダに入っているだけでは使えないので、GameObjectに貼り付けます。

Hierarchy→Create Emptyで空のGameObjectを作成します。

GameObjectにSampleスクリプトをドラックアンドドロップしてスクリプトを追加します。

Add-SampleScript

実行結果

if(1<3)の場合

true

if(1>3)の場合

false

数字の代わりに変数でやってみる

以下のようなスクリプトを用意しました。

変数numberは10と定義しています。

if文の条件は、もしnumberが1未満であればデバックログにnumber<1と表示します。当てはまらなければ、numberが15未満すなわち1以上で15未満であればデバックログに1<=number<15と表示されます。どの条件も当てはまらなければ、デバックログにどれも該当しませんと表示されます。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample : MonoBehaviour
{
void Start()
{
int number = 10;
if (number<1)
{
Debug.Log("number<1");
}
else if (number<15)
{
Debug.Log("1<=number<15");
}else
{
Debug.Log("どれも該当しません");
}
}

}

変数を扱う場合にはこのように記述することになります。

実行結果

numberは1以上15未満なので、以下の通りに表示されます。

実行結果

Switch文

switch文は基本的には以下のように書きます。

switch(条件)
{
case 条件1:条件に該当した場合の処理;
breake;
case 条件2:条件に該当した場合の処理;
break;
}

今回は、string型のnameをとらとして条件が当てはまれば、デバックログに表示するといったプログラムを書きました。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Sample : MonoBehaviour
{
void Start()
{
string name = "とら";
switch (name)
{
case "ネズミ":Debug.Log("ネズミ");
break;
case "うし":Debug.Log("うし");
break;
case "とら":Debug.Log("とら");
break;
case "うさぎ":Debug.Log("うさぎ");
break;
default:Debug.Log("該当なし");
break;

}
}

}

どの条件も当てはまらない場合の処理は以下のようになります。

caseではなくdefaultを使うので間違えないようにしましょう!

default:どの条件にも該当しない場合の処理;
break;

実行結果

とらという条件を決めているので、実行結果は以下のように表示されます。

実行結果

まとめ

if文とswitch文はどちらも同じようなことを行いますが、大小の比較をする場合にはif文を使い、具体的に値が決まっている場合はswitch文を使えるようにしておきましょう!

コメント

タイトルとURLをコピーしました