Naninovel(Unity)で条件分岐する方法/if、else If、else、endifの使い方

holidays 未分類

Naninovelで条件分岐する方法についてです。

スポンサーリンク

@if~@endifで条件分岐

@if~@endif

naninovelif1
基本的な形として、inputで数値を入力してもらい、その値によって処理を分岐してみます。
@if 変数=値または@if 変数==値の式で、変数と値が一致する時にのみ、@endifまでの処理が実行されます。
Naninovelでは=はひとつでもif文が動作します。
naninovelif2
値として1を入力すると、@ifと@endifの間の処理が実行されることが確認できます。
naninovelif3
2を入力すると、
naninovelif4
@if~@endifの処理は無視されます。

演算子

naninovelif5
=以外のの使える演算子は概ねunity C#と同じです。<でより小さい、>でより大きい。
naninovelif6
<=で以下、>=で以上。
naninovelif7
!=で一致しない、となります。
naninovelif8
boolean値(TrueかFalseしかないデータ型)のTrueを指定するなら、@if 変数名とするだけで@if 変数名 =Trueと同じ意味になります。
また、!変数名変数名=Falseと同じ意味になります。
naninovelif9
&&で式をつなぐとAかつBの条件を満たした時にTrueとなり、
naninovelif10
||で式をつなぐとAまたはBの条件を満たした時にTrueとなります。

@elseif

naninovelif11
@ifと@endifの間に@elseif 条件を置くと、上のifが達成できなかった場合に再度別の条件で判定し、別の結果を返す(複数分岐する)ことができます。
naninovelif12
入力した値が2であれば、ちゃんと別の結果が返ります。
naninovelif13
こういった式の場合「1」を入力するとif、elseifどちらもtrueですが、上にあるifまたはelseifが条件を達成した場合、それ以降のelseif/elseは判定されません。

@else

naninovelif14
@endifの前に@elseを置くことで、if、elseifがどれも条件を満たさない場合に実行する処理を指定できます。

パラメータと指定することで条件分岐

naninovelif15
別のif文の使い方として、スクリプト if:条件とすることで、条件を満たした場合のみスクリプトを実行させることができます。
naninovelif16
@choiceや@printと組み合わせることで、変数の値により展開を誘導することができます。
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。

コメント