Unity/엔진프로그래밍

0415_좀비슈터 단계별 테스트 _ UI만들고, 부딪치면 체력깍이게하기

minquu 2021. 4. 15. 16:07
반응형

UI를 UI카메라를 이용하여서 따로 만들고

플레이어에게 체력을 부여하여서 

부딪치면 체력을 깍이게 하는 걸 테스트 해볼 것이다.

 

해야할 것 

1.UI를 만들어야함(UI를 만들었던 방식으로)

2.플레이어에게 체력을 만들어주고, UI에 그 체력을 띄워야함

3.좀비와 부딪치면 체력을 깍이게 만들어야함 

 

 

 

----

 

0. UI 카메라를 만든다

 

1. 컨버스에 렌더모드를 카메라로 하고, 내가 만든 UI카메라를 달아준다.

 

 

2. Text 로 헬스 게이지를 만들어준다

 

 

3. playerState 스크립터를 만들어서 체력과 UI를 업데이트할 스크립터를 만들어준다.

 

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerState : MonoBehaviour
{
    public GameUI gameUI;
    public int hp;
    public int maxHp = 100;

    public void Start()
    {
        this.hp = this.maxHp;

    }
    public void Update()
    {
        string hpStr = this.hp.ToString();
        gameUI.HealthGauge.text = hpStr;
    }

    public void Ondamage()
    {
        this.hp -= 30;
    }

}

 

    public GameUI gameUI;
    public int hp;
    public int maxHp = 100;

 

 

 

먼저  게임 유아이를 받고,

체력과 최대체력 변수를 선언해줍니다.

 

 public void Start()
    {
        this.hp = this.maxHp;

    }
    

hp를 최대 hp로 만들어줍니다.

 

    public void Update()
    {
        string hpStr = this.hp.ToString();
        gameUI.HealthGauge.text = hpStr;
    }

 

업데이트에서 꾸준히 UI 텍스트에 값을 나타내줍니다.

 

int 값을 string으로 바꾸어서 내보내야함

 

    public void Ondamage()
    {
        this.hp -= 30;
    }
    

데미지를 입는 메서드를 만들어줍니다.

 

 

CrashCheck 스크립터 (충돌값이 들어오는 클래스)

    public PlayerState player;

에서 위에서 만듬 클래스를 받고,

 

public void OnTriggerEnter(Collider other)
    {
        if (other.tag == "Zombie") {
            Debug.Log("좀비와 충돌하였습니다.");
            player.Ondamage();
        }
    }

 

충돌할때 Ondamage 메서드를 만들어줍니다.

 

 

 

 

충돌할때마다 UI상에서 체력이 깍이는 걸 확인할 수 있습니다.

 

반응형