Unity – HP Bar

Canvas 내에 Slider 추가

Slider를 직접 사용자가 컨트롤할 것이 아니기 때문에 생성된 Slider 하단의 Handle을 체크해제합니다.

FM 오브젝트에서 Image 속성의 Color를 원하는 색상으로 변경하여 HP의 현재 값을 나타내는 막대색상을 지정합니다.

HP Slider 조작으로 위해 Script를 생성해줍니다.

우선 Space를 클릭했을 때 2식 차감되도록 해봅시다.

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

public class HPUI : MonoBehaviour
{
    [SerializeField]
    private Slider hpBar;
    private float maxHP = 100;
    private float curHP = 100;
    private float damage = 2;
    // Start is called before the first frame update
    void Start()
    {
        hpBar.value = (float) curHP / (float)maxHP;
    }

    // Update is called once per frame
    void Update()
    {
        if(Input.GetKeyDown(KeyCode.Space))
            curHP -= damage;
        HandleHP();
    }

    private void HandleHP(){
        hpBar.value = Mathf.Lerp(hpBar.value,(float)curHP/(float)maxHP,Time.deltaTime*damage);
    }
}

작성한 뒤 Unity로 돌아와 Script 속성에 Hp Bar에 이전에 생성한 Slider를 드래그하여 드랍하면 완성.

Leave a Comment