Unity 시간에 따라 크기가 0에 수렴하는 bar 만들기.


크기를 줄이고 싶은 오브젝트에 Component처리를 해준다.



줄어듬을 확인할수 있다.





Coroutine 말고 Update에서 해도 무방하다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
_timeCount = GameObject.FindGameObjectWithTag("TimeScrollbar").GetComponent<RectTransform>();
 
float fallBackTime = 250// 크기를 고려함.
 
//시간초 막대바,, 5초
    IEnumerator CountCoroutine()
    {
    _timeCount.sizeDelta = new Vector2(fallBackTime, 50); // 사이즈
        
        while (true)
        {
          // Time.deltaTime*50만큼 줄어듬
            fallBackTime = fallBackTime - (Time.deltaTime * 50);
         // 사이즈 재조정           
          _timeCount.sizeDelta = new Vector2(fallBackTime, 50);
            
         yield return null;
            
         // 0보다 작거나 같다면 종료.
            if (fallBackTime <= 0)
            {
                Result();
                break;
            }
        }
    }
cs




댓글