시간 경과에 따라 이미지 바 줄이기

2024. 9. 13. 12:10카테고리 없음

개요

시간 흐름에 따른 이미지 바 줄이기

 

내용 - Image 컴포넌트

Image 컴포넌트에서 Image Type을 Filled로 변경한다.

 

내용 - Image 변수 선언

이미지를 변수에 넣어준 뒤 변수의 FillAmount값을 조정 할 수 있는 함수를 만들어 줘서 사용하면 된다.

 

전체 코드

public class TimeBar : MonoBehaviour
{
    public Image timeGaugeBar;

    public void SetGauge(float min, float max, float time)
    {
        timeGaugeBar.fillAmount = time/max;
        if (0.67f< timeGaugeBar.fillAmount && timeGaugeBar.fillAmount <= 1f)
        {
            timeGaugeBar.sprite = Resources.Load<Sprite>("curved_slider_fill_02");
        }else if(0.34f < timeGaugeBar.fillAmount && timeGaugeBar.fillAmount <= 0.67f)
        {
            timeGaugeBar.sprite = Resources.Load<Sprite>("curved_slider_fill_03");
        }
        else if(timeGaugeBar.fillAmount <= 0.34f)
        {
            timeGaugeBar.sprite = Resources.Load<Sprite>("curved_slider_fill_01");
        }
    }
}

 

게임 매니저 클래스 업데이트문

void Update()
{
    time -= Time.deltaTime;
    timeBar.SetGauge(0, 30, time);
    timeTxt.text = time.ToString("N2");

    if (time < 0f)
    {
        GameOut();
    }
}