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