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

posted @ 2018-12-23 19:42  菩提树下的杨过  阅读(3103)  评论(0编辑  收藏  举报