switch文とif文がごっちゃになったので、switch分についてまとめました。
switch文とは
if文と同じ「条件分岐」の機能があります。
コードの書き方は以下の通りです。
switch(---)// ()の中に判断したいものを入れる{case○○○:// 比較するものをcaseの横にいれる// caseとbreakの間に処理させたいことを記述します。break;}
注意したいのは、変数の型が文字列の場合ならcaseの横に置く際に""で囲む必要があります。
お試し
試しにプレイヤーの行動を表す一文を出力してみます。
プレイヤーの行動
- こうげき
- ぼうぎょ
- まほう
- アイテム
- にげる
voidStart(){stringaction="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に出力されます。
※これを解決するのにすっごく悩んだ。