상세 컨텐츠

본문 제목

유니티 죽었을때 UI 띄우기

유니티/기능

by MJ_119 2024. 9. 12. 15:23

본문

 - UI를 만들어놓고, 비활성화 해놓은다음 죽었을때, UI 활성화, 게임 시간 멈추고, 커서 락 풀고, 보이게한다.

using UnityEngine;

public class Player_Death : MonoBehaviour
{
    [SerializeField] Canvas death_UI_Canvas;

    void Start()
    {
        death_UI_Canvas.enabled = false;
    }

    public void DeathState()
    {
        death_UI_Canvas.enabled = true;
        Time.timeScale = 0;
        Cursor.lockState = CursorLockMode.None;
        Cursor.visible = true;
    }
}

 

 

- 위의 코드를 플레이어의 HP가 0이하일때 Player_Death 스크립트 가져오고, 함수를 불러서 실행시킨다.

 

using UnityEngine;

public class Player_Health : MonoBehaviour
{
    [SerializeField] float health = 100f;

    public void TakeDamage(float damage)
    {
        health -= damage;
        print("HP : " + health);
        if (health <= 0)
        {
            GetComponent<Player_Death>().DeathState();
        }
    }
}

 

 

 - Retry를 눌렀을때 씬을 재생시키면서 커서도 다시 묶고, Time.timeScale = 1로 멈춰있는것도 다시 정상으로 되돌린다.

using UnityEngine;
using UnityEngine.SceneManagement;

public class UI : MonoBehaviour
{
    public void Retry()
    {
        Time.timeScale = 1;
        Cursor.lockState = CursorLockMode.Locked;
        int currentScene = SceneManager.GetActiveScene().buildIndex;
        SceneManager.LoadScene(currentScene);
    }

    public void Exit()
    {
        Application.Quit();
    }
}

관련글 더보기