IEnumerator FadeOut(float duration) { if (fadeout) { yield break; } fadeout = true; DanmakuManager.Unregister(gameObject); SpriteRenderer spriteRenderer = GetComponentInChildren <SpriteRenderer>(); for (float t = 0; t < duration; t += Time.deltaTime) { Color color = spriteRenderer.color; color.a = 1 - t / duration; spriteRenderer.color = color; yield return(0); } Destroy(gameObject); }