我正在开发游戏,并使用pygame模块运行声音。
有一次,我包括了Monster.ogg和woodfrog.ogg这两个文件,作为各种类的声音文件。
这些文件现在都不存在,在代码中未引用,并以绝对术语删除。
出于某种原因,pygame.mixer.Sound不断引用它们并崩溃了我的游戏。
我尝试过: -重新启动计算机(应该清除温度) -清除 pycache -重命名文件和变量 -引入具有相同名称(即woodfrog.ogg和Monster.ogg)的新的/有效的声音文件
在下面的代码中请注意,即使将Monster的self.sound =“ Monster.ogg”注释掉,错误仍然会出现。
错误:newsound = pygame.mixer.Sound(self.target.sound) pygame.error:无法打开文件“ Sound / Monster.ogg”
class Player(object):
def __init__(self):
self.target = ""
self.soundon = True
### RELEVANT METHOD ###
def playsound(self):
newsound = ""
if self.soundon:
if self.target.sound and (self.target.sound != "Monster.ogg"):
pygame.mixer.init()
newsound = pygame.mixer.Sound(self.target.sound)
pygame.mixer.Channel(0).play(newsound)
time.sleep(2)
pygame.mixer.Channel(0).stop()
pygame.mixer.quit()
### RELEVANT CLASS ###
class Monster(Organism):
def __init__(self):
super().__init__()
self.therm = "none"
self.type = "Monster"
### THE self.sound SHOWN IS A NOW ABSENT LINE OF CODE IN
###THE REAL SCRIPT; I'VE INCLUDED IT FOR USE IN ANSWERING
### THE QUESTION
#self.sound = "Monster.ogg"
newplayer = Player()
monster = Monster()
player.target = monster
player.playsound()```