我正在用游戏制作一个蛇游戏,我想了解一些关于pygame.mixer.music()的知识。
代码:
snakebodypos.insert(0, list(snakepos))
if snakepos[0] == foodpos[0] and snakepos[1] == foodpos[1]:
pygame.mixer.music.stop()
pygame.mixer.music.load(eatsound)
pygame.mixer.music.play(1, 0.0)
pygame.mixer.music.load(main)
pygame.mixer.music.play(-1, 0.0)
foodspawn = False
score += 1所以,当我停下来吃的声音应该播放,它只是跳过它,并再次播放停止的声音。
记住了!
当我使用暂停和取消暂停时,它不会再次取消暂停。我不知道为什么,所以我用停站。如果你知道为什么会这样,请告诉我。
发布于 2018-08-13 08:38:16
你有什么理由在播放eatsound时停止背景音乐吗?
您的代码无法工作,因为在加载和播放eatsound之后,您立即再次加载main,因此eatsound没有时间播放。
通常,您使用pygame.mixer.music播放背景音乐,而对于声音效果,则使用pygame.mixer.Sound,因此代码应该如下所示:
# load the Sound once at the beginning
eatsound_sound = pygame.mixer.Sound(eatsound)
...
snakebodypos.insert(0, list(snakepos))
if snakepos[0] == foodpos[0] and snakepos[1] == foodpos[1]:
# play the eat sound. don't touch the background music
eatsound_sound.play()
foodspawn = False
score += 1https://stackoverflow.com/questions/51813744
复制相似问题