Fade In Transition

 avatar
unknown
csharp
18 days ago
1.0 kB
1
Indexable
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;

public class SceneTransition : MonoBehaviour
{
    public CanvasGroup fadeCanvas; // Panel hitam buat efek fade
    public float fadeSpeed = 1f; // Kecepatan fade

    void Start()
    {
        StartCoroutine(FadeIn()); // Fade-in pas scene mulai
    }

    public void LoadScene(string sceneName)
    {
        StartCoroutine(FadeOut(sceneName)); // Fade-out sebelum pindah scene
    }

    IEnumerator FadeIn()
    {
        fadeCanvas.alpha = 1; // Mulai dari full hitam
        while (fadeCanvas.alpha > 0)
        {
            fadeCanvas.alpha -= Time.deltaTime * fadeSpeed;
            yield return null;
        }
    }

    IEnumerator FadeOut(string sceneName)
    {
        fadeCanvas.alpha = 0; // Mulai dari transparan
        while (fadeCanvas.alpha < 1)
        {
            fadeCanvas.alpha += Time.deltaTime * fadeSpeed;
            yield return null;
        }
        SceneManager.LoadScene(sceneName); // Pindah scene setelah fade-out
    }
}
Leave a Comment