41 lines
1,007 B
Python
41 lines
1,007 B
Python
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
|