I have a pygame event (called bubble_spawn_event), which has an interval (called bubble_spawn_interval) of 1000. How do I make that interval go down by say, 0.1 seconds every 10 seconds?
I've tried to create a separate event (called bubble_interval_change_event) that has an interval (bubble_interval_change_interval) of 10 seconds, and when that event happens, decrease the bubble_spawn_interval by 0.1 seconds, then call pygame.time.set_timer() on the same event. (bubble_spawn_event)
I have defined the bubble spawn event and interval as following:
bubble_spawn_event = USEREVENT
bubble_spawn_interval = 1000
pygame.time.set_timer(bubble_spawn_event, bubble_spawn_interval)
The interval change event and interval have been defined as following:
bubble_interval_change_event = USEREVENT + 1
bubble_interval_change_interval = 10000
My attempt on changing the bubble spawn interval:
elif event.type == bubble_interval_change_event:
bubble_spawn_interval -= 200
pygame.time.set_timer(bubble_spawn_event, bubble_spawn_interval)
My full main loop:
while running:
for event in pygame.event.get():
if event.type == QUIT:
running = False
elif event.type == bubble_spawn_event:
bubbles.add(Bubble(screen, random.randint(100, screen.get_width() - 100), screen.get_height()))
elif event.type == bubble_interval_change_event:
pygame.time.set_timer(bubble_spawn_event, 0)
bubble_spawn_interval -= 200
pygame.time.set_timer(bubble_spawn_event, bubble_spawn_interval)
screen.blit(bg_image, (0, 0))
bubbles.update()
for bubble in bubbles:
bubble.screen.blit(bubble.image, bubble.rect)
bubble.move()
pygame.display.update()
clock.tick(60)
pygame.quit()
The problem is that the bubble spawn interval doesn't go down at all, even when I decrease the interval by 0.9 seconds.