pygame 筆記-8 背景音樂&子彈音效
阿新 • • 發佈:2018-12-23
遊戲哪能沒有音效?這節我們研究下如何加背景音樂,其實也很簡單:
# 載入背景音樂 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