📜  unity timer - C# (1)

📅  最后修改于: 2023-12-03 15:35:30.441000             🧑  作者: Mango

Unity Timer - C#

Unity Timer 是 Unity 引擎中的一个计时器类,可用于在游戏中实现各种时间相关的功能,例如倒计时、间隔计时等等。

功能

Unity Timer 具有以下功能:

  • 开始计时器
  • 暂停计时器
  • 继续计时器
  • 停止计时器
  • 重置计时器
  • 设置计时器时间
  • 获取计时器时间
  • 获取计时器是否正在运行
初始化

首先,需要引入 Unity Timer 的命名空间:

using UnityTimer;

然后,可以通过以下方式来创建一个新的计时器:

Timer timer = new Timer();
开始计时器

调用 Start() 方法来开始计时器:

timer.Start();
暂停计时器

调用 Pause() 方法来暂停计时器:

timer.Pause();
继续计时器

调用 Resume() 方法来继续计时器:

timer.Resume();
停止计时器

调用 Stop() 方法来停止计时器:

timer.Stop();
重置计时器

调用 Reset() 方法来重置计时器:

timer.Reset();
设置计时器时间

调用 SetTime(float time) 方法来设置计时器时间(单位:秒):

timer.SetTime(60f); // 设置计时器为 60 秒
获取计时器时间

调用 GetTime() 方法来获取计时器时间(单位:秒):

float currentTime = timer.GetTime(); // 获取当前计时器时间
获取计时器是否正在运行

调用 IsRunning() 方法来获取计时器是否正在运行:

bool isRunning = timer.IsRunning(); // 获取计时器是否正在运行
示例

以下是一个简单的示例,演示了如何在游戏中实现一个倒计时器:

using UnityEngine;
using UnityEngine.UI;
using UnityTimer;

public class CountdownTimer : MonoBehaviour
{
    public float totalTime = 60f;
    public Text timerText;

    private Timer timer;

    private void Start()
    {
        timer = new Timer();
        timer.SetTime(totalTime);
        timer.onFinished.AddListener(OnTimerFinished);
        timer.onUpdate.AddListener(OnTimerUpdate);
        timer.Start();
    }

    private void OnTimerUpdate(float currentTime, float totalTime)
    {
        int minutes = Mathf.FloorToInt(currentTime / 60);
        int seconds = Mathf.FloorToInt(currentTime % 60);
        timerText.text = string.Format("{0:00}:{1:00}", minutes, seconds);
    }

    private void OnTimerFinished()
    {
        timerText.text = "Time's up!";
    }
}

在这个示例中,我们创建了一个 CountdownTimer 类,并且在 Start() 方法中初始化了一个 Timer 对象。然后,我们给 Timer 对象添加了两个事件监听器:onFinished 和 onUpdate。在 onUpdate 事件监听器中,我们计算出了当前计时器的时间,并将其格式化成 "mm:ss" 的形式,然后将其显示在 UI 文本框中。在 onFinished 事件监听器中,我们将 UI 文本框的文本设置为 "Time's up!"。最后,我们调用 timer.Start() 方法来开始计时器。

结论

Unity Timer 提供了一个非常简单而且功能强大的计时器类,可用于在 Unity 游戏中实现各种时间相关的功能。通过本文的介绍,您已经了解了 Unity Timer 的基本用法和相关示例。