from pygame.time import get_ticks from GameChild import GameChild class TimeFilter(GameChild): def __init__(self, parent): GameChild.__init__(self, parent) self.ticks = self.unfiltered_ticks = self.last_ticks = get_ticks() self.open() def close(self): self.closed = True def open(self): self.closed = False def get_ticks(self): return self.ticks def get_unfiltered_ticks(self): return self.unfiltered_ticks def get_last_ticks(self): return self.last_ticks def get_last_frame_duration(self): return self.last_frame_duration def update(self): ticks = get_ticks() self.last_frame_duration = duration = ticks - self.last_ticks if not self.closed: self.ticks += duration self.unfiltered_ticks += duration self.last_ticks = ticks