void Clock::makeAdjustmentsToTicks() { currentTicks = getTicks(); ticks = currentTicks-previousTicks; unsigned int lag = capFrameRate(); previousTicks = currentTicks + lag; ticks += lag; }
int main(int argc, char *argv[]) { bool fullscreen = false; if (argc == 2) { if (strcmp(argv[1], "-full") == 0) { fullscreen = true; } } initWindow(1024, 768, fullscreen, "Space!!! :D"); load(); while (!keyInput.ESC) { clear(); int i, r, g, b; for (i = 0; i < maxStars; i++) { r = randomNum(0, 255); g = randomNum(0, 255); b = randomNum(0, 255); setColour(r, g, b, 255); pixel(stars[i].x, stars[i].y); } update(); logic(); capFrameRate(60); } return 0; }
unsigned int Clock::getElapsedTicks() { if (paused) return 0; else if ( sloMo ) return 1; currTicks = getTicks(); ticks = currTicks-prevTicks; unsigned int delay = capFrameRate(); prevTicks = currTicks + delay; ticks += delay; sumOfAllTicks += ticks; return ticks; }