import pygame def start_loop(): global g_timer, g_elapsed g_elapsed = 0 g_elapsed_sec = 0.0 g_timer = pygame.time.get_ticks() def next_frame(skipping=False): global g_timer, g_elapsed, g_elapsed_sec newticks = pygame.time.get_ticks() #if skipping: # # reset g_timer to it's value from the previous frame # g_timer -= g_elapsed g_elapsed = newticks - g_timer g_timer = newticks g_elapsed_sec = float(g_elapsed) / 1000.0 def elapsed(): """ get the amount of time in milliseconds passed since the last frame was displayed """ return g_elapsed def elapsed_sec(): """ get the amount of time in seconds passed since the last frame was displayed """ return g_elapsed_sec def num_frames(delay, offset=0): """ if you want something to occur every "delay" milliseconds, this will return the number of times you should make it happen """ global g_elapsed, g_timer return int((g_timer - offset) / delay) - int((g_timer - g_elapsed - offset) / delay) def get_timer(): return g_timer