Cette classe hérite de sf.Clock et permet de mettre la minuterie en pause.
from PySFML import sf class PausableClock(sf.Clock): def __init__(self): self.elapsed_time = 0 self.pause = False sf.Clock.__init__(self) def Pause(self): if self.pause: sf.Clock.Reset(self) self.pause = False else: self.elapsed_time = self.elapsed_time + sf.Clock.GetElapsedTime(self) self.pause = True def Reset(self): self.elapsed_time = 0 self.pause = False sf.Clock.Reset(self) def GetElapsedTime(self): if self.pause: return self.elapsed_time else: return self.elapsed_time + sf.Clock.GetElapsedTime(self)
timer.GetElapsedTime() et sf.Clock.GetElapsedTime(timer) :
Vous pouvez facilement adapter cette classe à vos besoins, par exemple faire des méthodes Play et Pause séparées, faire une méthode Stop.