释放鼠标后如何倒计时

时间:2016-11-06 08:52:29

标签: c# unity3d

我想在停止点击鼠标时进行倒计时。

当我点击鼠标时,此代码会倒计时:

if (Input.GetMouseButtonUp(0))
        {
                tim -= Time.deltaTime;

                if (tim < 0)
                {
                    tim = 0;
                }

                int t = Mathf.FloorToInt(tim);
                timer.text = "timer" + t.ToString();

            }

我想在停止点按鼠标时进行倒计时。然后我点击它时需要停止。然后在我不点击鼠标时开始倒计时。

1 个答案:

答案 0 :(得分:3)

您需要在鼠标按下时将tim重置为常量值

int const COUNTDOWN_MAX = 3;

void Update()
{
    if (Input.GetMouseButtonDown(0))
    {
        //reset countdown when click
        tim = COUNTDOWN_MAX;
    }
    else
    {
        //start countdown when not click
        tim -= Time.deltaTime;
        if (tim < 0)
        {
            tim = 0;
        }
    }
    //show timer
    int t = Mathf.FloorToInt(tim);
    timer.text = "timer" + t.ToString();
}