Тема: Виконання дії кожні n сек. у PyGame
Всіх вітаю. Потрібно зробити, щоб одна дія виконувалася раз у 250 мілісекунд (наприклад), друга - у 2 000. Маю такий код:
import pygame
pygame.init()
win = pygame.display.set_mode( (50, 50) )
clock = pygame.time.Clock()
state1 = False
state2 = False
event1 = pygame.USEREVENT + 1
pygame.time.set_timer( event1, 250 )
event2 = pygame.USEREVENT + 2
pygame.time.set_timer( event2, 2000 )
while True:
for e in pygame.event.get():
if e.type == event1:
state1 = True
else:
state1 = False
if e.type == event2:
state2 = True
else:
state2 = False
if state1:
print( 'first event' )
if state2:
print( 'second event' )
pygame.display.update()
clock.tick( 50 )
Проблема в тому, що виконується тільки перший event1. Чому? Вже другий день сиджу над цією проблемою. Шукати одруки не треба, все скопійовано з інету, ще всюди один і той же код. От я і не можу зрозуміти, що не так. Може хтось допомогти, будь ласка?