gpt4 book ai didi

python - 跳过音轨(pygame.mixer.music)

转载 作者:太空宇宙 更新时间:2023-11-04 02:20:11 26 4
gpt4 key购买 nike

我正在用 pygame 制作贪吃蛇游戏,我想了解一些关于 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

因此,当我停下来并且 eatsound 应该播放时,它只是跳过它并再次播放停止的声音。

牢记!
当我使用暂停和取消暂停时,它不会再次取消暂停。我不知道为什么,所以我使用止损。如果您知道为什么会这样,请告诉我。

最佳答案

在播放 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 += 1

关于python - 跳过音轨(pygame.mixer.music),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51813744/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com