我正在尝试使用Pygame创建一个简单的游戏,我想在游戏时间内添加一些重复的游戏内声音。但是,当我应用这些代码时游戏停止运行:
def in-gameSounds():
pygame.mixer.init()
startTime = time.time()
theFile = 'Sounds/gameSound.ogg'
theFile2 = 'Sounds/gameSound2.ogg'
pygame.mixer.music.load(theFile)
pygame.mixer.music.play()
playing = True
while playing == True:
while time.time() <= startTime + 457:
time.sleep(0.01)
pygame.mixer.music.stop()
pygame.mixer.music.load(theFile2)
while time.time() > startTime + 457 and time.time() <= startTime+ 3752:
time.sleep(0.01)
pygame.mixer.music.stop()
for click in pygame.event.get():
if click.type == pygame.KEYDOWN:
if click.key == pygame.K_ESCAPE:
playing = False
startTime -= 3752
pygame.mixer.quit()
答案 0 :(得分:1)
您是否尝试过传递pygame.mixer.music.play()为-1的参数?这使它无限循环。从那里你可以使用pause(),unpause()和rewind()方法。
答案 1 :(得分:0)
您可以随时在程序顶部使用pygame.mixer.init()
后跟pygame.mixer.music.play(-1)
,而不是将其放入函数中。由于()
内的值为-1,意味着无限循环,音乐将继续播放,除非通过程序查杀,Ctrl-C等强制停止。
pygame.mixer.init() # Initiate pygame.mixer
pygame.mixer.music.load('song_name_here') # Load song to play
pygame.mixer.music.set_volume(0.7) # Change volume
pygame.mixer.music.play(-1) # Play song infinitely