🐧 들어가기 앞서

오늘은 대사에 오디오를 추가했고, 인트로씬을 구성했다.


🐧 오늘 배운 것

  1. 인트로씬 !

🐧 기억할 것 & 진행

IntroScene

코루틴을 이용한 인트로씬이다.

시작할 때 로고와 타이틀의 알파값을 0으로 설정하여 투명하게 만들고,

IntroSequence()코루틴을 시작한다.

FadeIn, FadeOut 코루틴으로 알파값을 조절하여 UX를 개선했다.

  • IntroManager.cs
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;
        }
    }
}

🐧 게임에 구현한다면?


🐧 내일 할 일

오디오 다듬기

게임 로직 구현

0개의 댓글