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

上一篇:Beauty of Array ZOJ - 3872(思维题)


下一篇:pygame 笔记-7 生命值/血条处理