Поскольку вы уже используете pygame
, вы можете подойти к этому следующим образом:
import pygame
class Player
def __init__(self, ...):
self.creation_time = pygame.time.get_ticks()
...
и тогда вы можете просто проверить, прошло ли определенное количество времени
player = Player()
while True:
if pygame.time.get_ticks() >= player.creation_time + 3000:
if not player.hit:
player.health = max(player.health-1, 0) # decrease health until 0
if player.hit or player.health is 0:
player.die()
...
pygame.time.get_ticks()
возвращает миллисекунды с момента вызова pygame.init()
, поэтому его необходимо преобразовать в секунды при использовании, и pygame.init()
должен быть вызван.