【UnityC#講座】コルーチンとbool変数の関係を試す

コルーチンとbool変数/トップ

Unity5.6.0f3
Windows10

コルーチンとbool変数/トップ

コルーチンはStartCoroutine(TestCoro())とIEnumerator TestCoro(){yield~}で動く何秒後に何するということが設定しやすい便利な奴。
bool変数はtrue/falseでオンオフを指定できる便利な奴。

これらを使って敵の行動を設定したいのだけど、合わせて使うとどうなるのか気になったので実験してみました。
UIのTextにC#スクリプトをアタッチして試します。

■コルーチンの中でfalseにしたらどうなるの?

bool変数のtestがtrueの時、TestCoroコルーチンが動きます。
0から5までカウントするのですが、その途中でtestがfalseになったらどうなるのでしょうか?

結果はこちら!

コルーチンの中でfalseにしたらどうなるの?

普通に5カウントできました。
一度発動すればfalseになっても関係ないようです。

■StartCoroutineのすぐ下でfalseにすると?

今度はStartCoroutineしたすぐ後にfalseにしてみました。

StartCoroutineのすぐ下でfalseにすると?

予想通り何事もなくできました。

スポンサーリンク

■StartCoroutineの直前にfalseにすると?

今度は直前にfalseにします。
さすがにこれではコルーチンは動かないでしょう。

StartCoroutineの直前にfalseにすると?

おおっと、これは意外!
testがtrueの場合、TestCoroコルーチンが動く仕組みでそれをスタートさせる前にtestをfalseにしてもTestCoroは動く!!

■int,float,bool,stringの場合は?

testがtrueの場合、Text,int,float,bool,stringの値が変わるのですが、その直前にtestをfalseにしたらどうなるのか確かめてみました。

boolとstring

boolとint,float,bool,string

やはりこれらもtestのif文の中で先にtestをfalseにしても問題なく値は変わるのですね。

今回何気なく確かめてみたのですが良い勉強になりました。
この調子でもっと気になったところをたしかめて行くことにします。

さて、今回はこれで終わりです。
お疲れさまでした。

■関連記事

ブログタイトルを「Unityで魔物使い♀ゲームを作る」に変更しました

スポンサーリンク

目次に戻る