using System.Collections; using System.Collections.Generic; using UnityEngine; public class SpriteFade : MonoBehaviour { //Define serialized variable [SerializeField] private float fadeTime = .4f; //Define sprite renderer for the fade of sprites private SpriteRenderer spriteRenderer; /// /// This method shows when the game is first awake and /// it gets the sprite renderer component in unity. /// private void Awake(){ spriteRenderer = GetComponent(); } /// /// This routine gradually fades out the object's sprite renderer /// by reducing its alpha value to zero. /// /// public IEnumerator SlowFadeRoutine() { //Define variable and sprite renderer start value float elapsedTime = 0; float startValue = spriteRenderer.color.a; //Fades out over time while (elapsedTime < fadeTime) { elapsedTime += Time.deltaTime; float newAlpha = Mathf.Lerp(startValue, 0f, elapsedTime / fadeTime); spriteRenderer.color = new Color(spriteRenderer.color.r, spriteRenderer.color.g, spriteRenderer.color.b, newAlpha); yield return null; } //Destroy the game object after fading out Destroy(gameObject); } }