Unity 中是否有 Processing 的 millis() 的替代品?

Is there a substitute to Processing's millis() in Unity?

我试图在 Unity 中制作一个计时器,它特别需要 Processing 中的 millis() 之类的东西。有没有类似或至少非常相似的东西?

我尝试用 Time.time 或 Time.deltaTime 做点什么,但我想不出任何东西。

关于毫秒(): https://processing.org/reference/millis_.html

您可以使用 C# 系统 API System.DateTime.UtcNow.MillisecondSystem.DateTime.Now.Millisecond(您时钟的当前时间)

Petrusion comment 之后,您可以使用更快的 System.Environment.TickCount 来获取计算机启动后的毫秒数

如果您需要从应用程序启动开始的时间,您可以为其创建一个单一行为包装器

using UnityEngine;

public class CustomTimer : MonoBehaviour
{
    private int startTime = 0;
    
    void Start()
    {
        startTime = System.Environment.TickCount;
    }
    
    public int MillisSinceStart()
    {
        return System.Environment.TickCount - startTime;
    }
}

然后将它拖到场景中,获取它的引用并从任何地方调用timer.GetEllapsedTime()

Unity 也有时间和帧相关的东西在进行 例如,回调 void Update() { } 每帧调用一次,不像 void FixedUpdate() { } 每 0.02 秒左右调用一次(可以在设置中更改)

如果您正在制作动画,也许最好使用 frame-dependent 时间而不是常规时间,因为您的应用可能会变慢并导致在绘制时跳过某些帧