экспериментирует с таймером pygame и ищет способ приостановить таймер и снова запустить таймер с предыдущего времени.Время отслеживания для pygame Python
функции, такие как pygame.time.get_ticks()
работы для записи время от начала применения.
Функции, такие как delay
или wait
Замораживает программу. Я не хочу этого.
Есть ли простой способ отслеживать объект таймера, приостановить его, когда мне нужно, и продолжить его, когда мне нужно?
def timer(self):
self.time = (pygame.time.get_ticks()//1000)
self.time = self.time - self.pausetime
return self.time
self.pausetime = (pygame.time.get_ticks()//1000)
выше не будет работать, так как событие, если self.pausetime
это другая переменная, определенная в разное время, он все равно будет возвращать количество времени с момента запуска приложения.
Я думаю, мне нужна переменная pause
, которую я могу установить на ноль каждый раз, когда я прихожу из паузы.
Любые мысли или простые способы, которые я мог бы пересмотреть?
Вот с помощью get_ticks(), чтобы добавить кулдаун ружей: http://stackoverflow.com/a/18856389/341744 – ninMonkey
Не уверен, что я понимаю. Вы хотите, чтобы таймер возвращался (общее количество времени, прошедшего с момента запуска) минус (сумма времени, потраченного на паузу)? – Cuadue
В идеале, мне бы хотелось, чтобы таймер сохранял количество времени, на которое он отметил. Он был правдоподобным и мог начать снова с предыдущего времени, когда я остановился. Согласно моей реализации выше, как пауза, так и время начнут вычислять все тики с начала метода запуска приложения. – lzc