Я разрабатываю игру и использую модуль pygame для запуска звука.
В какой-то момент я включил два файла, Monster.ogg и woodfrog.ogg, в качестве звуковых файлов для различных классов.
Эти файлы сейчас отсутствуют, в коде нет ссылок и удалены в абсолютном выражении.
По какой-то причине pygame.mixer.Sound продолжает ссылаться на них и вылетает из игры.
Я пробовал:
- перезагрузка компьютера (который должен сбрасывать темп)
- очистка pycache
- переименование файлов и переменных
- введение новых / рабочих звуковых файлов с одинаковыми именами (например, woodfrog.ogg и Monster.ogg)
Обратите внимание, что в приведенном ниже коде даже после того, как Monster's 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()```