Fixed timer wrapping problem

This commit is contained in:
Caspian Rychlik-Prince 2004-12-03 00:54:01 +00:00
parent f334272243
commit a16f7c2268
1 changed files with 10 additions and 2 deletions

View File

@ -77,8 +77,16 @@ public class Timer {
* @return the time in seconds, as a float
*/
public float getTime() {
if (!paused)
lastTime = currentTime - startTime;
if (!paused) {
if (currentTime > startTime) {
lastTime = currentTime - startTime;
} else {
// The timer seems to have wrapped round. We don't know
// when it wrapped round, so the only thing we can reasonably
// do is reset the starttime and have a "glitch"
startTime = currentTime;
}
}
return (float) ((double) lastTime / (double) resolution);
}