유니티 심플한 초단위 타이머만들기

2020. 6. 26. 12:09유니티실습

반응형

안녕하세요 유니티 비기너입니다.

이번 시간에는 간단한 초단위 타이머를 만드는 방법에 대해 알아보겠습니다.

 

결과 화면

한눈에 보기

 

 

1. UI Text를 생성합니다.

2. Timer 스크립트를 작성합니다.

3.. Timer 오브젝트에 Timer 스크립트를 할당합니다.

 

1. UI Text를 생성합니다.

타이머의 수치를 나타내기 위해 text 컴포넌트를 포함하는 오브젝트를 활용하였습니다.

 

 

2. Timer 스크립트를 작성합니다.

public class Timer : MonoBehaviour
{
    public Text timerTxt;
    public float time = 9f;
    private float selectCountdown;

    void Start() {
        selectCountdown = time;
    }

    void Update() {
        if(Mathf.Floor(selectCountdown) <= 0) {
            // Count 0일때 동작할 함수 삽입
        } else {
            selectCountdown -= Time.deltaTime;
            timerTxt.text = Mathf.Floor(selectCountdown).ToString();
        }
    }
}

selectCountdown으로 초기 시간을 설정하고 Time.deltaTime을 차감하여 초의 흐름을 나타냈습니다.

Time.delataTime은 지난 프레임이 완료되는 데 까지 걸린 시간을 나타내며 단위는 초를 사용합니다.

 

3. Timer 오브젝트에 Timer 스크립트를 할당합니다.

Timer오브젝트에 스크립트를 할당하여 text 오브젝트를 Drag 하여 Timer txt에 삽입합니다.

위의 과정만으로도 간단한 타이머를 완성하실 수 있습니다.

 

 

기타 (Indicator 스크립트)

public class Indicator : MonoBehaviour
{
    void Update()
    {
        if(Input.GetMouseButtonDown(0)) {

            Vector3 vpos = Camera.main.ScreenToWorldPoint(Input.mousePosition);
            Collider2D col = Physics2D.OverlapPoint(vpos);

            if (col != null) {
                transform.position = col.transform.position;
            }

        }
    }
}

Scale이 변동하는( 1 > 0.9 > 1 ) 애니메이션이 포함된 오브젝트에 스크립트를 할당했습니다.

내용은 캐릭터를 마우스로 클릭하면 클릭 지점으로 position을 변경하여 캐릭터가 선택되었다는

느낌을 강조하기위해 만든 스크립트입니다.

 

이상으로 심플타이머를 만드는 방법에 대해 알아보았습니다.

다음은 좀 더 좋은 정보로 찾아뵙겠습니다.

감사합니다.

반응형