LemonteaのUnity部屋

LemonteaのUnity部屋

UnityとかC#のおはなしです~

Unity 【改良版】コルーチンのタップ待ち処理 会話やリザルト

こんにちは。レモンティーです。

数日前にコチラの記事で、コルーチンによるタップ待ちを書きました。
sawalemounity.hatenablog.com

そのとき、
yield return new WaitUntil(Tap);
yield return new WaitWhile(Tap);

という同じ処理が何度も登場していたので、
これを一つに直します

コルーチンだけでなく配列も
今まであまり使ってこなかったのですが
どうも配列が解決してくれそうなので
使ってみます。

  string[] Texts = new string[4];
  public Text text;
	void Start () {
        Texts[0] = "昨日までの隣人が";
        Texts[1] = "友人が";
        Texts[2] = "家族が";
        Texts[3] = "お前に銃を向けるかもしれない";
        StartCoroutine(Conversation());
	}
    IEnumerator Conversation()
    {
        for(int i = 0; i <= Texts.Length-1; i++)
        {
            text.text = Texts[i];
            yield return new WaitUntil(Tap);
            yield return new WaitWhile(Tap);
        }
    }
    bool Tap()
    {
        return Input.anyKeyDown;
    }

こんな感じにしました。

これで、
Texts[n] = "~~~~";
と書いていくだけで会話が増やせます。

やっぱり条件分岐とか使うのは愚策だったっぽいですね…。

現状困ったら調べるって感じですが、
プログラム勉強したほうがいいのかもしれません

便利な機能を知らないと無駄に苦労しますからね…





…ちなみに15周したくらいにはオプスのファンです笑