Музыка в pygame

Тут всё довольно просто.

Но сначала скачаем нужные звуки (пару звуков)

Скачать можно, например, из этой библиотеки. Звуки лучше выбирать формата .ogg

Далее проследите чтобы в папке проекта были все нужные файлы:

  • исполняемый файл .py
  • 1-ый музыкальный файл формата ogg
  • 2-ой музыкальный файл формата ogg

Теперь, собственно, код

Создадим игровое окно

# подключаем модуль import pygame # Создаем окно window = pygame.display.set_mode((300, 300)) # Озаглавливаем окно pygame.display.set_caption("Music BOX") # ГЛАВНЫЙ ЦИКЛ while True: pygame.display.update() # Обновление кадров экрана pygame.time.delay(40) # Задержка

Добавим в главный цикл обработку закрытия (нажатие на красный крестик)

for e in pygame.event.get(): if e.type == pygame.QUIT: pygame.quit()

Должен получится черный экран, который можно закрыть по крестику

До главного цикла подгружаем музыку

#музыка pygame.mixer.init() pygame.mixer.music.load(‘scan.ogg’) pygame.mixer.music.play()

Теперь при запуске у нас играет фоновая музыка

Давайте сделаем воспроизведение второго звука по нажатию клавиши «W». А по нажатию на «S» — остановим его.

# Подгружаем звук sound = pygame.mixer.Sound(‘music.ogg’)

И теперь проверим все нажатые клавиши и поработаем со звуком

# Получаем в переменную keys все нажатые клавиши keys = pygame.key.get_pressed() # проверяем клавиши if keys[pygame.K_w]: # включаем звук sound.play() elif keys[pygame.K_s]: # выключаем звук pygame.mixer.pause()

Итоговый код

Наша музыкальная коробка может включать и выключать звук. Итоговый код выглядит следующим образом:

# подключаем модуль import pygame # Создаем окно window = pygame.display.set_mode((300, 300)) # Озаглавливаем окно pygame.display.set_caption("Music BOX") #музыка pygame.mixer.init() pygame.mixer.music.load(‘scan.ogg’) pygame.mixer.music.play() sound = pygame.mixer.Sound(‘music.ogg’) while True: for e in pygame.event.get(): if e.type == pygame.QUIT: pygame.quit() keys = pygame.key.get_pressed() if keys[pygame.K_w]: sound.play() elif keys[pygame.K_s]: pygame.mixer.pause() pygame.display.update() pygame.time.delay(40)

Заключение

Применяю эту логику, мы можем добавлять звуки на столкновения спрайтов, передвижения, перехода на следующий уровень, победы или проигрыша. Pygame также работает с форматами .wav, .mp3

А с функцией sound1.set_volume(0.5) мы можем задавать громкость звука, где 0 — это минимум, 1 — это максимум.

Источник: vc.ru

Djmp3.ru - Когда я слушаю, мне кажется, что я живу.
А когда Djmp3.ru приглашали на вечеринки, он очень веселился и чувствовал себя непринужденно.
У него было много друзей, но не было настоящей семьи.
Он хотел стать музыкантом, но родители не хотели, чтобы он становился профессиональным музыкантом.
Понравилась статья? Поделиться с друзьями:
Djmp3.ru
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: