유니티 텍스트 Fade 효과

Intro

코루틴을 이용한 텍스트 Fade효과 구현

Fade 효과

텍스트의 알파 값을 조절해 사라졌다 나타났다 하는 텍스트(Fade)를 구현했다.

코드

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TextFade : MonoBehaviour
{
    Text text;
   
    void Awake()
    {
        text = GetComponent<Text>();
        StartCoroutine(FadeTextToOne());
    }

    public IEnumerator FadeTextToFullAlpha() // 알파값 0에서 1로 전환
    {
        text.color = new Color(text.color.r, text.color.g, text.color.b, 0);
        while (text.color.a < 1.0f)
        {
            text.color = new Color(text.color.r, text.color.g, text.color.b, text.color.a + (Time.deltaTime / 2.0f));
            yield return null;
        }
        StartCoroutine(FadeTextToZeroAlpha());
    }

    public IEnumerator FadeTextToZero()  // 알파값 1에서 0으로 전환
    {
        text.color = new Color(text.color.r, text.color.g, text.color.b, 1);
        while (text.color.a > 0.0f)
        {
            text.color = new Color(text.color.r, text.color.g, text.color.b, text.color.a - (Time.deltaTime / 2.0f));
            yield return null;
        }
        StartCoroutine(FadeTextToFullAlpha());
    }
}

코루틴을 이용해 텍스트의 알파 값에 Time.deltaTime2.0f로 나눈 값을 더하거나 뺌으로써 2초동안 사라지거나 다시보이도록 구현했다.

코루틴하나가 끝날 때 마다 다른 코루틴을 다시 실행시켜 계속 반복되도록 함

실행결과

gif

태그: ,

카테고리:

업데이트:

댓글남기기