游戲哪能沒有音效?這節我們研究下如何加背景音樂,其實也很簡單:
# 加載背景音樂 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