游戏哪能没有音效?这节我们研究下如何加背景音乐,其实也很简单:
# 加载背景音乐 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