FREE MOTION

FREE MOTION
職人への道

Flash職人への道 上級編

条件分岐 switchを勉強してみよう!前回紹介した条件分岐ifと同じ動作を行うことができるものなんだけど、条件部分の記述をもっとコンパクトにすることができるから条件が沢山あるときに便利だよ。
switchじゃなくてifでもできることだけど、せっかくだからswitchについても勉強してみよう☆
■条件分岐 swithとは?
条件分岐 switchは、条件ごとに処理を分けて行う際に便利な機能です。ifによる条件分岐の場合は、条件式を比較演算子などで記述しますが、
switchの場合は変数の値を条件とします。

条件分岐 switchの記述方法

条件分岐 switchを記述する場合は、変数名、条件を満たす変数値、処理内容を合わせて記述します。
条件分岐 "switch"を記述する
条件分岐 "switch"を使う場合は下記の通りに記述します。
<条件分岐 "switch"の記述例>
switch( [変数名]){
    case "[変数値]":
        [処理内容];
        break;
    case "[変数値]":
        [処理内容];
        break;
    case "[変数値]":
        [処理内容];
        break;
}
{”、”}”で囲われた部分がswitchの処理範囲になります。条件分岐 switchでもカッコを閉じ忘れないようにしましょう。case [変数値]の後に付く":"(コロン)は文末にいれる";"(セミコロン)とは違うので注意しましょう。また、caseの最後には、必ず"break;"を入れます。この"break;"が抜けてしまうと最後に記述した条件しか反映されなくなってしまうので、気をつけましょう。

条件分岐 switchを使ってみよう

それでは実際に条件分岐 switchを使ってみましょう。
条件分岐 "switch"を使う
フレームまたはシンボル等に以下のスクリプトを記述します。
<条件分岐 "switch"の記述例>
switch (shingou){
    case "青":
        trace("進め");
        break;
    case "黄":
        trace("注意");
        break;
    case "赤":
        trace("止まれ");
        break;
}
この条件分岐 "switch"の記述例では、変数名"shingou"の値が、"青"の時には"進め"というメッセージが表示されます。"黄"の場合は"注意"というメッセージが表示されます。"赤"の場合は"止まれ"というメッセージが表示されます。
          
同じ条件を条件分岐"if"で表現した場合
条件分岐"if"で表現した場合は以下のようになります。
<条件分岐 "if"での記述例>
if( shingou == "青"){
    trace("進め");
}else if(shingou == "黄"){
    trace("注意");
}else if(shingou == "赤"){
    trace("止まれ");
}
この条件分岐"if"でも"switch"と同様の動作をしますが、条件式部分が大きくなり、細かな条件を指定するほど把握し難くなります。

まとめ

条件分岐 switchは条件毎の処理が多岐にわたる場合に、把握しやすく、条件部分の記述もコンパクトにまとめられるので便利だぞ。すべての場合で条件分岐ifより優れるというものではないが、状況や好みにより条件分岐ifと条件分岐switchを使い分けられるようになるとよいだろう。条件分岐switchを無理に使う必要は無いので、あくまで自分にとって扱いやすい方を利用することを心がけよう。諸君らの健闘を祈る。