Фоновая музыка Pygame не играет - PullRequest
1 голос
/ 13 июня 2019

Я пытался добавить фоновую музыку, но нет звука.Я могу придумать 3 возможные причины, но я не знаю, как это исправить.

Первая возможная причина: я поместил файл в неправильном месте на моем компьютере (я поместил его в Windows (C:) в разделе «Пользователи», потому что там находится мой файл pygame)

Вторая возможная причина: я разместил код не в том месте.(Я поместил его под основной цикл, который, как я не вижу, делают другие, но у меня также есть стартовый экран, и я не хочу ту же музыку для стартового экрана и реальной игры.)

Третья возможная причина: Код неверный / неполный.(У меня есть только три строки из кода, который я видел здесь, но иногда)

pygame.init()
pygame.mixer.init()
while run:

    pygame.mixer.music.load('bgm.mp3')
    pygame.mixer.music.play()

Это весь мой код:

Code is removed for now. Will re-upload in 1 to 2 months.

Пожалуйста, укажите мне, как я могудобавить три разных BGM.1 для моего начального экрана и 1 для моей реальной игры и 1 для моего конечного экрана.

Начальный и конечный экран должны иметь одинаковую фоновую подсветку, но я не уверен, как их преобразовать.

Мне еще предстоит добавить конечный экран, потому что я не знаю, какно для контекста, когда вражеский спрайт касается спрайта игрока, его игра окончена.На данный момент, когда вражеский спрайт касается спрайта игрока, игра просто закрывается, как в run = False.

1 Ответ

2 голосов
/ 13 июня 2019

Файл mp3 постоянно загружается и перезапускается в основном цикле.Если вы хотите воспроизводить фоновую музыку непрерывно, то запускать и перезапускать музыку нужно только в тех случаях, когда музыка не воспроизводится.
Проверьте, воспроизводится ли музыкальный поток с помощью pygame.mixer.music.get_busy(),например:

run = True
while run:

    if not pygame.mixer.music.get_busy():
        pygame.mixer.music.load('bgm.mp3')
        pygame.mixer.music.play()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...