오늘은 대사에 오디오를 추가했고, 인트로씬을 구성했다.
코루틴을 이용한 인트로씬이다.
시작할 때 로고와 타이틀의 알파값을 0으로 설정하여 투명하게 만들고,
IntroSequence()코루틴을 시작한다.
FadeIn, FadeOut 코루틴으로 알파값을 조절하여 UX를 개선했다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
public class IntroManager : Singleton<IntroManager>
{
public Image logo;
public Image title;
public GameObject tutorial;
private void Start()
{
Color logoColor = logo.color;
Color titleColor = title.color;
logoColor.a = 0f;
titleColor.a = 0f;
logo.color = logoColor;
title.color = titleColor;
StartCoroutine(IntroSequence());
}
IEnumerator IntroSequence()
{
yield return new WaitForSeconds(1f);
yield return StartCoroutine(FadeIn(logo));
yield return new WaitForSeconds(2f);
yield return StartCoroutine(FadeOut(logo));
yield return StartCoroutine(FadeIn(title));
yield return new WaitForSeconds(3f);
tutorial.SetActive(true);
}
IEnumerator FadeIn(Graphic graphic, float duration = 1.0f)
{
Color color = graphic.color;
while (color.a < 1.0f)
{
color.a += Time.deltaTime / duration;
graphic.color = color;
if (color.a >= 1.0f) break;
yield return null;
}
}
IEnumerator FadeOut(Graphic graphic, float duration = 1.0f)
{
Color color = graphic.color;
while (color.a > 0)
{
color.a -= Time.deltaTime / duration;
graphic.color = color;
if (color.a <= 0) break;
yield return null;
}
}
}
오디오 다듬기
게임 로직 구현