我试图在Unity中制作一个计时器,它特别需要Processing中的millis((之类的东西。有没有什么东西能像它一样工作,或者至少非常相似?
我试着用Time.Time或Time.deltaTime做一些事情,但什么都想不出来。
关于millis((:https://processing.org/reference/millis_.html
您可以使用C#系统APISystem.DateTime.UtcNow.Millisecond
或System.DateTime.Now.Millisecond
(用于时钟的当前时间(
根据Petrusion的评论,您可以使用速度更快的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()
团结也有时间和框架相关的东西在发生例如,回调void Update() { }
每帧调用一次,而void FixedUpdate() { }
每0.02秒左右调用一次(可以在设置中更改(
如果你在做动画,也许最好使用依赖于帧的时间而不是常规时间,因为你的应用程序在绘制时会减慢速度并导致跳过一些帧