1. 程式人生 > >pygame 筆記-8 背景音樂&子彈音效

pygame 筆記-8 背景音樂&子彈音效

遊戲哪能沒有音效?這節我們研究下如何加背景音樂,其實也很簡單:

# 載入背景音樂
pygame.mixer.music.load(music_base_path + "music.mp3")
# 設定音量
pygame.mixer.music.set_volume(0.1)
# 迴圈播放
pygame.mixer.music.play(-1, 0)

play的第1個引數,設定成-1表示迴圈播放。 

 

另一個問題,發射子彈和子彈擊中,也需要聲音,這個必須用另一種方法,否則的話,會把背景音樂給停掉:

_sound_library = {}


# 播放音效(與背景音樂可同時播放,但預設只支援wav格式)
def play_sound(path):
    global _sound_library
    sound = _sound_library.get(path)
    if sound is None:
        temp = path.replace('/', os.sep).replace('\\', os.sep)
        sound = pygame.mixer.Sound(temp)
        sound.set_volume(0.1)
        _sound_library[path] = sound
    sound.play()

封裝一個函式,在需要播放音效的地方,呼叫即可:

# 播放音效
play_sound(music_base_path + "hit.wav")

  

參考:

https://nerdparadise.com/programming/pygame/part3

 

原始碼下載: https://github.com/yjmyzz/pygame_tutorial