Hierarcy창에서 UI > Text 선택하고, 게임오브젝트의 이름을 HP로 변경한다.
HP 게임오브젝트의 Text>Text를 원하는 값으로 수정합니다.
Project > Assets 폴더에 Ghost.prefab 게임오브젝트의 Tag값을 Ghost로 줍니다.
Project > Assets 폴더에서 Hp.cs라는 이름의 C#스크립트를 만듭니다.
Tag값으로 Ghost란 이름을 가진 게임오브젝트와 만나면 hp가 1점 깍입니다.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
using UnityEngine.UI;
public class Hp : MonoBehaviour
{
public GameObject HpText;
public int hp = 100;
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.tag == "Ghost")
{
hp = hp - 1;
}
}
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
HpText.GetComponent<Text>().text = hp.ToString();
}
}
Hp.cs를 Player 게임오브젝트에 연결시켜 줍니다.
HP게임오브젝트를 Player 게임오브젝트의 Hp(Script) 컴포넌트의 HpText(None(GameObject))에 넣어줍니다.
ClearScene 화면을 만듭니다. Hp가 0보다 작다라면 ClearScene 화면으로 이동합니다.
* Hp.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;
public class Hp : MonoBehaviour
{
public GameObject HpText;
public int hp = 100;
private void OnCollisionEnter2D(Collision2D collision)
{
if(collision.gameObject.tag == "Ghost")
{
hp = hp - 1;
if(hp < 0)
{
SceneManager.LoadScene("ClearScene");
}
}
}
void Start()
{
}
void Update()
{
HpText.GetComponent<Text>().text = hp.ToString();
}
}
'유니티' 카테고리의 다른 글
[유니티 2D] 게임 오브젝트와 게임 오브젝트 사이의 거리 (0) | 2024.03.10 |
---|---|
[유니티 2D] 플레이어 따라오기 (0) | 2024.03.10 |
[유니티 2D] 미로 - Bullet(총알) 만들기 (0) | 2024.03.10 |
[유니티 2D] 미로 - 유령이 플레이어 바라보고 쫓아오기 (0) | 2024.03.10 |
[유니티 2D] 미로 - 미로를 만듭니다 (0) | 2024.03.10 |