Naninovelで条件分岐する方法についてです。
@if~@endifで条件分岐
Naninovelの基本的な使い方についてはこちら。
カスタム変数の作り方などはこちら。
@if~@endif
![naninovelif1](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif1.png)
基本的な形として、inputで数値を入力してもらい、その値によって処理を分岐してみます。
@if 変数=値または@if 変数==値の式で、変数と値が一致する時にのみ、@endifまでの処理が実行されます。
Naninovelでは=はひとつでもif文が動作します。
@if 変数=値または@if 変数==値の式で、変数と値が一致する時にのみ、@endifまでの処理が実行されます。
Naninovelでは=はひとつでもif文が動作します。
![naninovelif2](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif2.png)
値として1を入力すると、@ifと@endifの間の処理が実行されることが確認できます。
![naninovelif3](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif3.png)
2を入力すると、
![naninovelif4](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif4.png)
@if~@endifの処理は無視されます。
演算子
![naninovelif5](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif5.png)
=以外のの使える演算子は概ねunity C#と同じです。<でより小さい、>でより大きい。
![naninovelif6](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif6.png)
<=で以下、>=で以上。
![naninovelif7](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif7.png)
!=で一致しない、となります。
![naninovelif8](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif8.png)
boolean値(TrueかFalseしかないデータ型)のTrueを指定するなら、@if 変数名とするだけで@if 変数名 =Trueと同じ意味になります。
また、!変数名で変数名=Falseと同じ意味になります。
また、!変数名で変数名=Falseと同じ意味になります。
![naninovelif9](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif9.png)
&&で式をつなぐとAかつBの条件を満たした時にTrueとなり、
![naninovelif10](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif10.png)
||で式をつなぐとAまたはBの条件を満たした時にTrueとなります。
@elseif
![naninovelif11](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif11.png)
@ifと@endifの間に@elseif 条件を置くと、上のifが達成できなかった場合に再度別の条件で判定し、別の結果を返す(複数分岐する)ことができます。
![naninovelif12](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif12.png)
入力した値が2であれば、ちゃんと別の結果が返ります。
![naninovelif13](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif13.png)
こういった式の場合「1」を入力するとif、elseifどちらもtrueですが、上にあるifまたはelseifが条件を達成した場合、それ以降のelseif/elseは判定されません。
@else
![naninovelif14](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif14.png)
@endifの前に@elseを置くことで、if、elseifがどれも条件を満たさない場合に実行する処理を指定できます。
パラメータと指定することで条件分岐
![naninovelif15](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif15.png)
別のif文の使い方として、スクリプト if:条件とすることで、条件を満たした場合のみスクリプトを実行させることができます。
![naninovelif16](https://sunagitsune.com/wp-content/uploads/2023/07/naninovelif16.png)
@choiceや@printと組み合わせることで、変数の値により展開を誘導することができます。
![](https://sunagitsune.com/wp-content/uploads/2021/07/computer-1343393_1280-160x90.jpg)
やりたいことから逆引きするUNITYの使い方まとめ
Unityをやりたいことから学習していけるよう、機能・用途別にまとめたページです。C#の命令別の逆引きは現時点で作っていません。2019の時期に書き始めているので、それより前のバージョンについては言及しません。
コメント