Python Pygame音乐不会在我的游戏功能中播放
我试图在游戏的战斗阶段播放一些平静的背景音乐,我的游戏在一个函数中运行,每当我调用函数播放音乐时,它都会保持沉默,直到我退出game()函数,然后音乐会突然响起,我将非常感谢任何关于这可能是什么原因的见解Python Pygame音乐不会在我的游戏功能中播放,python,pygame,Python,Pygame,我试图在游戏的战斗阶段播放一些平静的背景音乐,我的游戏在一个函数中运行,每当我调用函数播放音乐时,它都会保持沉默,直到我退出game()函数,然后音乐会突然响起,我将非常感谢任何关于这可能是什么原因的见解 def game(): running = True while running: screen.fill((0, 0, 0)) sewer = pygame.image.load('assets\
def game():
running = True
while running:
screen.fill((0, 0, 0))
sewer = pygame.image.load('assets\\backgrounds\\sewer.png')
screen.blit(sewer,(0,0))
mx, my = pygame.mouse.get_pos()
turn = 0
mob()
monster_health()
stopmusic()
pmusic("assets\\music\\battlemusic.mp3")
def stopmusic():
pygame.mixer.music.stop()
def pmusic(file):
pygame.mixer.music.load(file)
pygame.mixer.music.play(-1)
您正在调用
pmusic()
之后立即调用stopmusic()
。
因此,每次你进入游戏循环时,音乐都会立即关闭并重新开始。当你结束游戏时,你在打开音乐后退出while循环,这就是为什么你之后会听到它。
您应在进入游戏循环前启动音乐,并在退出时停止:
def game():
running = True
pmusic("assets\\music\\battlemusic.mp3")
while running:
...
stopmusic()
似乎你每一帧都开始和停止音乐。在while循环之前调用pmusic,并从while循环内部删除stopmusic和pmusic。