Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 跳过音轨(pygame.mixer.music)_Python_Python 3.x_Pygame_Mixer - Fatal编程技术网

Python 跳过音轨(pygame.mixer.music)

Python 跳过音轨(pygame.mixer.music),python,python-3.x,pygame,mixer,Python,Python 3.x,Pygame,Mixer,我正在用pygame制作一个蛇游戏,我想了解一些关于pygame.mixer.music()的知识 代码: 所以,当我停下来,eatsound应该播放时,它只是跳过它,然后再次播放停止的声音 记住 当我使用暂停和取消暂停时,它不会再次取消暂停。我不知道为什么,所以我使用了停止。如果您知道发生这种情况的原因,请告诉我。播放eatsound时,您有什么理由想停止背景音乐吗 代码不起作用,因为在加载并播放eatsound后,您会立即再次加载main,因此eatsound没有时间播放 通常,您使用py

我正在用pygame制作一个蛇游戏,我想了解一些关于pygame.mixer.music()的知识

代码:

所以,当我停下来,eatsound应该播放时,它只是跳过它,然后再次播放停止的声音

记住

当我使用暂停和取消暂停时,它不会再次取消暂停。我不知道为什么,所以我使用了停止。如果您知道发生这种情况的原因,请告诉我。

播放
eatsound
时,您有什么理由想停止背景音乐吗

代码不起作用,因为在加载并播放
eatsound
后,您会立即再次加载
main
,因此
eatsound
没有时间播放


通常,您使用
pygame.mixer.music
播放背景音乐,对于声音效果,您使用,因此您的代码应该如下所示:

# 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
# 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