[유니티]탑다운 슈팅 따라하기 #14 게임 오버

안녕하세요 유랑입니다.

 

 

실력향상을 위해서 오늘은 유튜브를 따라하면서 공부하겠습니다.

궁금하신점 있으시다면 댓글로 남겨주세요^^

 

 

 

1. 탑다운 슈팅 따라하기

 

 

이번 강의는 Sebastian Lague님께서 만든 예제이며,

유튜브를 보시면 자세한 내용을 배우실 수 있습니다.

 

유튜브 사이트 => 유튜브 

 

 

 

유니티 슈팅

 

 

 

1-1) 게임 오버

 

 

이번 시간에는 게임 오버 UI를 만들어 주겠습니다.

플레이어 사망시 띄어주는 것이죠.

그걸 위해 이벤트 함수도 구현해 주겠습니다.

 

 

 

유니티 슈팅

 

 

 

1-2) 스크립트 작성 -㉠Spawner

 

 

Spawner 스크립트에 OnNewWave라는 이벤트를 추가해 주겠습니다.

새로운 웨이브 때 마다 몹이 생성되도록 하기위해서 입니다.

 

 

 

유니티 슈팅

 

 

웨이브가 바뀔 때 마다 다른 맵이 바뀌도록 이벤트를 실행시켜주며,

플레이어 위치도 리셋됩니다.

 

 

유니티 슈팅

 

 

 

1-3) 스크립트 작성 -㉡MapGenerator

 

 

MapGenerator 스크립트에서는 OnNewWave이벤트에 맵 생성하는 기능을 추가해 줍니다.

웨이브가 바뀔 때 마다 여기서 맵을 생성시켜주는 것이죠ㅎㅎ

 

 

 

유니티 슈팅

 

 

웨이브가 끝나면 다른 맵으로 바뀐걸 확인할 수 있습니다.

자기만의 맵을 만들어 보세요!!

 

 

유니티 슈팅

 

 

 

1-3) 스크립트 작성 -㉢GameUI

 

 

GameUI스크립트는 플레이어 사망시 Fade하는 기능과

게임을 재시작 할 수 있는 기능을 가지고 있습니다.

 

 

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using UnityEngine.SceneManagement;

public class GameUI : MonoBehaviour
{
    public Image fadePlane;
    public GameObject gameOverUI;

    void Start()
    {
        FindObjectOfType<Player>().OnDeath += OnGameOver;
    }

    void OnGameOver()
    {
        StartCoroutine(Fade(Color.clear, Color.black, 1));
        gameOverUI.SetActive(true);
    }

    IEnumerator Fade(Color from, Color to, float time)
    {
        float speed = 1 / time;
        float percent = 0;

        while (percent < 1)
        {
            percent += Time.deltaTime * speed;
            fadePlane.color = Color.Lerp(from, to, percent);
            yield return null;
        }
    }

    // 게임 재시작
    public void StartNewGame()
    {
        SceneManager.LoadScene("Main");
    }
}

 

 

1-4) 게임UI 만들기

 

 

플레이어 사망시 간단한 UI를 띄어주겠습니다.

이렇게 말이죠.

이제 만들러 가볼까요?

 

 

 

유니티 슈팅

 

 

Canvas를 생성한 후 Size는 1280 X 720으로 맞춰주세요^^

 

 

유니티 슈팅

 

 

Image를 생성한 후 검은색 배경으로 만들어 줍니다.

캐릭터 사망시 이 이미지의 투명도를 조절해 줄거에요ㅎㅎ

 

 

유니티 슈팅

 

 

빈 오브젝트를 생성한 후 이름을 Game Over UI로 변경해 주세요.

텍스트와 버튼을 포함하고 있습니다.

 

 

유니티 슈팅

 

 

텍스트는 Game Over라는 문구를 적어주고,

 

 

유니티 슈팅

 

 

버튼은 Canvas에 있는 GameUI의 StartNewGame 기능을 연결해 주세요.

이제 이 버튼을 클릭하면 StartNewGame이 실행되는 것이죠.

 

 

유니티 슈팅

 

 

유니티 슈팅

 

 

이제 해당 스크립트에 오브젝트를 연결해 준다음 시작해 봅시다.

 

 

유니티 슈팅

 

 

캐릭터가 사망하면 Game Over UI가 나타나며,

Play again 버튼을 클릭하여 게임 재시작이 가능합니다ㅎㅎ

 

 

유니티 슈팅

 

 

 

2. 마무리

 

 

오늘 강의는 여기까지입니다.

탑다운 슈팅을 따라하면서 게임 오버를 구현해 보았습니다.

감사합니다.

 

 

 

수업자료: 탑다운 슈팅 따라하기 #14 게임 오버

 

 

 

 

 

댓글

Designed by JB FACTORY