В то время, когда вы хотите начать рисовать линию, вызовите pygame.time.get_ticks
и сохраните результат, назовем его start_time
.
Затем вы вызываете pygame.time.get_ticks
каждый кадр и сравниваете это значение с ценность, которую вы сохранили.
Итак, если pygame.time.get_ticks() - start_time > 2000
вы знаете, что прошло две секунды, и вы перестаете рисовать линию.
Вот простой пример:
import pygame
def main():
pygame.init()
screen = pygame.display.set_mode((500, 500))
clock = pygame.time.Clock()
dt = 0
start_time = None
while True:
events = pygame.event.get()
for e in events:
if e.type == pygame.QUIT:
return
if e.type == pygame.KEYDOWN:
start_time = pygame.time.get_ticks()
screen.fill((30, 30, 30))
if start_time and pygame.time.get_ticks() - start_time < 2000:
pygame.draw.line(screen, (255, 255, 255), (0, 0), (500, 500), 10)
pygame.draw.line(screen, (255, 255, 255), (500, 0), (0, 500), 10)
pygame.display.update()
dt = clock.tick(60)
if __name__ == '__main__':
main()