在写飞机大战处理背景音乐时,本身按照视频当中的代码应该是
class GameSound(object):
def __int__(self):
pygame.mixer.init()
pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
pygame.mixer.music.set_volume(0.5)
def playBackgroundMusic(self):
# pygame.mixer.init()
# pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
# pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(-1)
成立一个背景音乐类在__int__(self)方法中对mixer进行初始化相关操作,在成一个成立一个
playBackgroundMusic方法对其传入参数-1进行播放,但是会抱错
mixer位初始化,在网上查阅相关资料也没有找到相关处理办法,后来我在playBackgroundMusic方法中对其初始化程序可以正常运行,
改正后的代码为:
class GameSound(object):
def __int__(self):
pygame.mixer.init()
pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
pygame.mixer.music.set_volume(0.5)
def playBackgroundMusic(self):
pygame.mixer.init()
pygame.mixer.music.load("../飞机大战/res/sound/game_music.ogg")
pygame.mixer.music.set_volume(0.5)
pygame.mixer.music.play(-1)
思路为在playBackgroundMusic方法中重新对其进行初始化,但是这样代码有冗余,重复度很高,但是我没有找到更好的处理办法。
有不同处理办法的大神可以一起交流,分享你的解决办法。