Unity开发小技巧(一)、计时器Timer

1.第一种计时器Time.deltaTime

Time.deltaTime为游戏每帧执行的时间,该方法一般用加法来计时,原理是利用nity中Update方法的每帧执行的时间,按钮按下后不断累加,大于计时时间时关闭,可根据实际使用情况进行加减,以下给出加法操作。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TimeTest : MonoBehaviour
{
   
    float totalTime = 3;
    float timer = 0;
    bool isStartTimer = false;
    public Button button;
    // Start is called before the first frame update
    void Start()
    {
   
        button.onClick.AddListener(OnClickBtn);
    }

    private void OnClickBtn()
	{
   
        isStartTimer = true;
        Debug.Log("开始计时");
	}

    // Update is called once per frame
    void Update()
    {
   
		if (isStartTimer)
        {
   
            timer += Time.deltaTime;
            Debug.Log("计时中:"+(int)timer);
            if(timer >= totalTime)
			{
   
                Debug.Log("结束计时:"+(int)timer);
                isStartTimer = false;
                timer = 0;
            }
		}
    }
}

演示结果:
Unity开发小技巧(一)、计时器Timer_第1张图片

2.第二种计时器Time.time

Time.time为从游戏运行开始到现在的时间,该方法一般用作减法计时,原理是先记录一下按钮按下时的那一瞬间的时间,再用当前时间减去记录的时间,大于计时时间时关闭,也是依靠Unity中Update方法的帧执行,可根据实际使用情况进行加减,以下给出减法操作。

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;

public class TimeTest2 : MonoBehaviour
{
   
    float totalTime = 3;
    float recordTime = 0;
    public Button button;
    bool isStartTimer = false

你可能感兴趣的:(unity,c#,游戏引擎)