switch文とif文がごっちゃになったので、switch文についてまとめました。
##switch文とは
if文と同じ「条件分岐」の機能があります。
コードの書き方は以下の通りです。
switch (---) // ()の中に判断したいものを入れる
{
case ○○○: // 比較するものをcaseの横にいれる
// caseとbreakの間に処理させたいことを記述します。
break;
}
注意したいのは、変数の型が文字列の場合ならcaseの横に置く際に""で囲む必要があります。
##お試し
試しにプレイヤーの行動を表す一文を出力してみます。
プレイヤーの行動
- こうげき
- ぼうぎょ
- まほう
- アイテム
- にげる
void Start()
{
string action = "Item"; // Attack,Defense,Magic,Item,Escapeのどれかを""の中に入れる
switch(action)
{
case "Attack":
Debug.Log("こうげきした!");
break;
case "Defense":
Debug.Log("ぼうぎょした!");
break;
case "Magic":
Debug.Log("まほう!を使った");
break;
case "Item":
Debug.Log("アイテムを使った!");
break;
case "Escape":
Debug.Log("にげた!");
break;
}
}
実行結果
今回はactionに格納した値が"Item"なので、「アイテムを使った!」が出力されました。
###注意事項
C#scriptを作ってPlayボタンを押しただけでは、Consoleに出力されませんでした。
何かしらオブジェクトに貼り付ける必要があるようです。
貼り付け方は、「Hierarcy」の「Create」の中にある [Create Empty」をクリックすると、「GameObject」が生成されるので、そこに作成したC#Scriptをドロップ&ドロップします。
その状態でPlayボタンを押すと、Consoleに出力されます。
※これを解決するのにすっごく悩んだ。