pygame.mixer.init()
STOPPED_PLAYING = pygame.USEREVENT + 1
pygame.mixer.music.set_endevent(STOPPED_PLAYING)
for event in pygame.event.get():
if STOPPED_PLAYING == event.type:
# код для выполнения при окончании воспроизведения музыки
# например выбор и начало воспроизведения следующей мелодии
py.draw.circle(sc,Green,i.pos)
py.draw.circle(sc,Red,i.pos,7)
# при выстреле ставим запрет на следующий выстрел
self.timer = 0 # обнуляем начальное значение для отсчета
pygame.time.set_timer(pygame.USEREVENT, 1000) # запускаем таймер (в милисекундах) на срабатывание каждую секунду
затем в обработчике событий:
for event in pygame.event.get():
if event.type == pygame.USEREVENT:
self.timer += 1 # считаем количество пройденных секунд
if self.timer == 5: # если прошло 5 секунд
pygame.time.set_timer(pygame.USEREVENT, 0) # отключаем таймер
# даем разрешение на следующий выстрел
# при выстреле ставим запрет на следующий выстрел
self.start_ticks = pygame.time.get_ticks() # запоминаем начальное значение тиков в милисекундах
затем в обработчике событий:
for event in pygame.event.get():
if event.type == ...: # тут какое-то ваше событие на выстрел
seconds= (pygame.time.get_ticks() - self.start_ticks)/1000 # вычисляем сколько прошло секунд
if seconds > 5: # проверяем что прошло 5 секунд
# даем разрешение на следующий выстрел
pygame.init()
можно ли рамки и заливку прямоугольника сделать разными цветами, если да, то как?
pygame.draw.rect(surface, color1, (x1, y1, size_x, size_y))
pygame.draw.rect(surface, color2, (x1, y1, size_x, size_y), width)