using System.Collections; using System.Collections.Generic; using Unity.VisualScripting; using UnityEngine; using UnityEngine.UI; public class Wait2SecondsToShow : MonoBehaviour { // Reference to the Image component private Image canvas; private void Start() { canvas = GetComponent(); Invoke(nameof(StartFade), 2.8f); } void StartFade() { canvas.enabled = true; StartCoroutine(FadeOut(2f)); } // Coroutine to fade out the image public IEnumerator FadeOut(float duration) { // Make sure the canvas is not null if (canvas == null) { yield break; // Exit if canvas is not assigned } // Starting alpha value (1 is fully opaque) float startAlpha = 1.0f; // Elapsed time float time = 0; while (time < duration) { time += Time.deltaTime; // Update the time based on the time passed since last frame float alpha = Mathf.Lerp(startAlpha, 0, time / duration); // Calculate the new alpha value canvas.color = new Color(canvas.color.r, canvas.color.g, canvas.color.b, alpha); // Apply the new alpha value to the canvas color yield return null; // Wait for the next frame } Destroy(gameObject); } }