• 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

  • 相关阅读:
    BZOJ 3744 Gty的妹子序列
    BZOJ 3872 Ant colony
    BZOJ 1087 互不侵犯
    BZOJ 1070 修车
    BZOJ 2654 tree
    BZOJ 3243 向量内积
    1003 NOIP 模拟赛Day2 城市建设
    CF865D Buy Low Sell High
    CF444A DZY Loves Physics
    Luogu 4310 绝世好题
  • 原文地址:https://www.cnblogs.com/yjmyzz/p/pygame-tutorial-8-music-and-sound.html
Copyright © 2020-2023  润新知