実現したいこと
UnityのTextMeshProのText.color.aを0.01fずつあげることで疑似的にフェードインを再現しているのですが、
これをコルーチンの中でループ処理させ、三つのテキストを順番にフェードインさせたいのですが、
なぜか1つ目、2つ目、3つ目と順を追うごとに表示速度が速くなってしまいます。
1つ目、2つ目、3つ目ともに一定の速度で変更するにはどのようにすればよいでしょうか?
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; using TMPro; public class DisplayLookOnStatus : MonoBehaviour { public TextMeshProUGUI[] Status; int i; float a; void Start() { i = 0; } void Update() { StartCoroutine(FadeIN()); } IEnumerator FadeIN() { while(i < Status.Length) { Status[i].color += new Color(0, 0, 0, 0.01f); if(Status[i].color.a >= 1) { i++; Debug.Log(i); } yield return null; } } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/11/27 05:14 編集