switch文とは
複数の選択肢から1つを選ぶときに使います.
例: 敵の状態によって行動を選択
- 自由に移動
- 追いかける
- 攻撃する
という3つの状態を持つ敵がいたとします.
例: 敵の状態によって行動を選択
- 自由に移動 => 0
- 追いかける => 1
- 攻撃する => 2
まずはこれらに番号付けします.
例: 敵の状態によって行動を選択
番号は整数なので,int型の変数で表現することができます.
int state = 0; // 状態0 自由に移動
state // 状態
サンプル
switch文を使って書くとこうかけます.
長いので,書き方を説明します.
1. 状態を宣言
public class Example8 : MonoBehaviour {
public int state = 0;
void Start () {
}
}
2. switch文1
public class Example8 : MonoBehaviour {
public int state = 0;
void Start () {
switch (state) {
default:
break;
}
}
}
- まずswi くらいで,予測変換で
switch
が出るのでEnterを押す. - tabキーを押すと自動で書いてくれる
- stateと入力
3. switch文2
public class Example8 : MonoBehaviour {
public int state = 0;
void Start () {
switch (state) {
case 0:
Debug.Log ("自由に移動する");
break;
default:
break;
}
}
}
case 0: と入力することで, stateが0だったときの処理を記述することができる.
break;をつけることを忘れずに
caseの右端はセミコロン;ではなく:コロンなので注意しましょう.
4. switch文3
あとはcaseを増やすだけ
実行
まとめ
switch(変数)
{
case 値1:
いくつかの文1 // 変数の値 == 値1 のとき実行される
break;
case 値2:
いくつかの文2 // 変数の値 == 値2 のとき実行される
break;
・
・
・
default:
いくつかの文 // 変数の値がどの値とも異なるとき実行される
break;
}
参考
http://ufcpp.net/study/csharp/st_branch.html#switch