生命周期函数返回值为IEnumerator
问题:IEnumerator 在Start()的作用是什么
IEnumerator Start()
{
var delay = new WaitForSeconds(2);
while (true)
{
yield return null;
if (messages.Count > 0)
{
textMeshPro.text = messages.Dequeue();
spriteRenderer.color = new Color(1, 1, 1, 0);
textMeshPro.color = new Color(1, 1, 1, 0);
var T = 0f;
while (T < 1)
{
T += Time.deltaTime;
spriteRenderer.color = new Color(1, 1, 1, T);
textMeshPro.color = new Color(1, 1, 1, T);
yield return null;
}
spriteRenderer.color = Color.white;
textMeshPro.color = Color.white;
yield return delay;
while (T > 0)
{
T -= Time.deltaTime;
spriteRenderer.color = new Color(1, 1, 1, T);
textMeshPro.color = new Color(1, 1, 1, T);
yield return null;
}
spriteRenderer.color = new Color(1, 1, 1, 0);
textMeshPro.color = new Color(1, 1, 1, 0);
}
}
}Start() 内部阻塞执行
Start() 整体异步执行


处理初始化时的几帧
最后更新于