[Unity] Time.deltaTime으로 깜빡이는 오브젝트 만들기

2023. 8. 11. 15:37Unity

728x90
반응형
public class Test : MonoBehaviour
{
    bool flag = true;
    
    void Update()
    {
        if (flag == true)
        {
            flag = false;
        }
        else
        {
            flag = true;
        }
        print(flag);
    }
}

update 함수가 0.03초마다 반복될 때마다 flag 변수의 true, false가 반복되어 바뀌면서 출력된다.

 

 


 

 

public class Test : MonoBehaviour
{
    float time = 0;

    void Update()
    {
        time += Time.deltaTime;
        if (time > 1)
        {
            print("time");
            time = 0;
        }
    }
}

Time.deltaTime은 이전 프레임이 완료될 때까지 걸린 시간을 의미하며 그 시간을 계속 더해서 1초가 넘으면 "time"을 출력한다고 써 놓았다.

 

 


 

 

public class Test : MonoBehaviour
{
    bool flag = true;
    float time = 0;
    
    void Update()
    {
        time += Time.deltaTime;
        if (time > 1)
        {
            if (flag == true)
            {
                flag = false;
            }
            else
            {
                flag = true;
            }
            print(flag);
            time = 0;
        }
    }
}

위의 두 코드를 합쳐 1초가 될 때마다 flag 변수의 true/false 값을 바꿔 출력하도록 만들 수 있다.

 

 


 

 

public class Test : MonoBehaviour
{
    public GameObject obj1;
    bool flag = true;
    float time = 0;
    void Update()
    {
        time += Time.deltaTime;
        if (time > 1)
        {
            if (flag == true)
            {
                flag = false;
            }
            else
            {
                flag = true;
            }
            print(flag);
            obj1.SetActive(flag);
            time = 0;
        }
    }
}

게임 오브젝트 obj1을 추가하고 obj1.SetActive(flag);를 추가하여 1초마다 깜빡이는 오브젝트 효과를 줄 수 있게 되었다.

728x90
반응형