制御文とは
ある条件の時にだけ処理を実行したり、繰り返し実行したりすることができます。
例えば・・・
・もしJのキーボードを押したらプレイヤーはジャンプする
・もしプレイヤーが指定した範囲に入ったら物が落下する
・もし敵を3体出現させたら処理を終了する
などなど・・・・
作成するゲームによってその制御は様々で非常によく使います。
僕もゲームを初心者ながら作っていますが、もう1度言わせてください。
非常によく使います!!
よし!この文ならちゃんと動くだろうと自分でやってみてもうまく動かないなんてことも良くありますww
※書いたコードが正しくないとUnityは動いてくれません泣
今回はそんな制御文を紹介していきます
if文
if文とは先ほどの例のような
「もし〜なら〜する」のような制御文です。
書き方としては
if(条件式)
{
処理
}
このような書き方になります
またif文の条件式は関係演算子を使ってかくことができます。
正直関係演算子という言葉は覚えなくても良いですが、どんなものがあるのかだけ覚えればいいと思います。
演算子 | 比較結果 |
== | 左辺と右辺が等しい場合に真 |
!= | 左辺と右辺が等しくない場合に真 |
> | 左辺が右辺より大きい場合に真 |
< | 左辺が右辺より小さい場合に真 |
>= | 左辺が右辺以上の場合に真 |
<= | 左辺が右辺以下の場合に真 |
🔼関係演算子の表と説明
これから出てくるのですが真という言い方をtrue、反対に偽という言い方をfalseと言います。これも良く使います。
演算子を使ったif文の例
int Yakusou = 1;
if (Yakusou == 1)
{
Debug.Log(“HPが40回復”);
}
【解説】
条件式がもしYakusou(薬草)が1だった場合HPが40回復という処理を実行するというものです。
処理を実行する前にYakusou(薬草)に1の数字が代入されているため、この文の出力結果は真(true)となりH Pが40回復となります。
なお、条件が合わない場合(Yakusouの数字が1以外)は出力結果が偽(false)となるため表示されないです。
つまり1以外の条件が欲しければさらに条件を作らなければならないということです。
更なる条件 if-else文
条件を追加するためにelseを使います。
if文ではもし〜なら〜するでしたが、elseを加えると
「もし〜なら〜する、そうでなければ〜する」となります。
これなら先ほどの1以外の条件が作れそうです。
if-else文の例
int Yakusou = 5;
if (Yakusou == 1)
{
Debug.Log(“逃げる”);
}
else
{
Debug.Log(“攻撃”);
}
【解説】
先ほどの文にelseが追加された事により、Yakusouが1なら逃げる、Yakusouが1でなければ攻撃という文に変えました。
上の場合はYakusouが5なので攻撃の出力結果になります。
更に条件追加
int Yakusou = 5;
if (Yakusou == 1)
{
Debug.Log(“逃げる”);
}
else if (Yakusou == 3)
{
Debug.Log(“防御”);
}
else
{
Debug.Log(“攻撃”);
}
【解説】
else ifという言葉は「もしくは」という意味を持ちます。
それにより、もしYakusouが1なら逃げる、もしくはYakusouが3なら防御、それ以外なら攻撃という文になります。
めちゃくちゃな文だなって思うかもしれませんが例なので気にしないでください。
では今回はこれで。次回は繰り返しの制御文について書きます!
前回の記事はこちら⇨【1】スクリプトを作成してみよう
コメント