我正在使用一个计时系统,在那里我得到了增量(每帧通过的毫秒数,60 fps)。
在我使用计时之前,我计算了帧数并做了这样的事情:
if(frames % 60 == 0) /*do something*/;
frames++;
但我不能对 delta 使用同样的东西:
if(milliseconds % 1000 == 0) /*do something*/;
milliseconds += delta;
Delta 每次都在变化,毫秒不会是每秒 1000 的倍数。
(我正在使用 Java,但这并不重要。)
编辑:
Stas Makutin 的 if(milliseconds - prev_milliseconds >= 1000) 在大多数情况下都有效。但是在我的代码的一部分中,有这样的东西:
if(frames % 60 == 0){
...
}
if(frames % 60 == 30){
...
}
if(frames % 40 == 0){
...
}
有没有办法在不使用 prev_millisecond1、prev_millisecond2 等的情况下做到这一点(即多个 prev_millisecond 变量。)