본문 바로가기
개발일지/코드 기록

유니티2D Slider로 HP Bar 만들기

by 개발자 슈니 2022. 9. 26.
728x90
반응형

HP Bar 중 Slider로 만든게 제일 깔끔해 보여서

Slider로 Hp Bar를 만들었다

먼저 Ui - Canvas - Slider 순으로 생성해준다

Canvas는 UI 객체를 만들었을때 자동으로 생성되지만,

혹시 몰라 Canvas를 먼저 만들고 UI 객체를 생성해주는게 좋다고 배웠다^^

Slider를 만들었으면,

Handle은 필요가 없으므로 삭제해준다

Fill Area - Fill 오브젝트를 선택 한 후

인스펙터 창에서 Image Color를 찾아 원하는 색상으로 변경해준다

background의 color도 적절하게 변경해줬다

Fill Area와 Fill의 트랜스폼 값을 0으로 줘서

최소와 최대 value 값을 맞춰주었다

그리고 스크립트를 통해 어떤 행동을 했을때 체력 게이지가 닳게 해주면 끝 : )

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

public class HpBar: MonoBehaviour
{
/*
*/
    public float currentHp; // 현재 체력을 나타내줄 변수
    public float maxHp; // 풀 체력을 나타내줄 변수 

    public Slider hpBar; // 만들어둔 HP Bar를 연결해줄 슬라이더 선언

    void Start()
    {
        hpBar.value = (float)currentHp / (float)maxHp;
    }

    void Update()
    {
        HandleHp();
    }

    void HandleHp()
    {
    // 선형 보간법(Mathf.Lerp)을 이용해서 체력 게이지가 깍이는걸 자연스럽게 해준다
        hpBar.value = Mathf.Lerp(hpBar.value, (float)currentHp / (float)maxHp, Time.deltaTime * 10);
    }
}

이런식으로 만들어두고 내가 쓸 부분에 적절히 수정+추가 해주면 될것 같다!

난 요기에 적용^^

+ Slider로 간단하게 Hp Bar 만들기 데브곰님 유튜브 영상!

간단하고 이해하기 쉬워서 좋다

https://youtu.be/EhJObA5bN2c

 

728x90
반응형

댓글