Можно ли в python или в частности в pygame отсчитать время, не останавливая всю программу?

Я знаю о существовании методов sleep() у python и wait() у pygame. Но их минусом для меня сейчас является то, что они останавливают всю программу. Есть ли их аналоги, которые могут мне помочь?


Ответы (1 шт):

Автор решения: Agressive Programmer

Если вы хотите узнать время работы программы в секундах , то вам пригодится такая часть кода:

import time

startTime = time.time
while 1:
    # Что-то в цикле
programUseTime = time.time() - startTime
print(programUseTime)

А если вам нужно количество выполненных тактов (используется в играх), то при запуске игры сделайте ticksGone = 0, а в каждом цикле это число будет увеличиваться на 1. В зависимости от максимального fps в игре, время будет равно разному количеству тиков. Если вам надо будет найти значение в секундах (относительно игры) - тогда timeGone = ticksGone / maxFPS , где maxFPS - это максимальное количество кадров в секунду.

→ Ссылка