유니티

[유니티] 페이드 인 아웃

SUGI_ 2023. 7. 31. 17:42
public class FadeInOut : MonoBehaviour
{
    public float fadeSpeed = 1.5f;
    public bool fadeInOnStart = true;
    public bool fadeOutOnExit = true;

    public Image panel;

    private void Awake()
    {
        //처음시작 방법1
        panel.gameObject.SetActive(true);   
    }

    void Start()
    {
        //StartCoroutine(FadeOut());
        StartCoroutine(FadeIn());
    }

    IEnumerator FadeIn()
    {
        //처음시작 방법2
        if (panel.color.a > 0)
        {
            panel.color = new Color(0, 0, 0, 0);
        }

        float a = 0;

        while (panel.color.a < 1)
        {
            a += Time.deltaTime * fadeSpeed;
            panel.color = new Color(0, 0, 0, a);

            yield return null;
        }
    }

    IEnumerator FadeOut()
    {
        //처음시작 방법2
        if (panel.color.a < 1)
        {
            panel.color = new Color(0, 0, 0, 255);
        }

        float a = 1;

        while (panel.color.a > 0)
        {
            a -= Time.deltaTime * fadeSpeed;
            panel.color = new Color(0, 0, 0, a);
            yield return null;
        }
    }
}
728x90