小编KWG*_*KWG的帖子

C#Delta时间实施

这是我试图制作2D粒子模拟的代码片段

static long lastTime = 0;
static double GetDeltaTime()
{
    long now = DateTime.Now.Millisecond;
    double dT = (now - lastTime); // / 1000
    lastTime = now;
    Console.WriteLine(dT);
    return dT;
}
Run Code Online (Sandbox Code Playgroud)

应该很明显它将返回自上次调用该方法以来的时间(以毫秒为单位).唯一的问题,这就是它打印的内容

393
1
0
0
0
0
0
0
0
0
0
...
Run Code Online (Sandbox Code Playgroud)

好的,也许这只是因为每次通过花费不到一毫秒.所以我把它改成了

    static long lastTime = 0;
    static double GetDeltaTime()
    {
        long now = DateTime.Now.Ticks; // Changed this to ticks
        double dT = (now - lastTime); // / 1000
        lastTime = now;
        Console.WriteLine(dT);
        return dT;
    }
Run Code Online (Sandbox Code Playgroud)

但那仍然打印

6.35476136625848E+17 …
Run Code Online (Sandbox Code Playgroud)

c# time timedelta

1
推荐指数
2
解决办法
1万
查看次数

标签 统计

c# ×1

time ×1

timedelta ×1