유니티 텍스트 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.deltaTime
를 2.0f
로 나눈 값을 더하거나 뺌으로써 2초동안 사라지거나 다시보이도록 구현했다.
코루틴하나가 끝날 때 마다 다른 코루틴을 다시 실행시켜 계속 반복되도록 함
댓글남기기