В настоящее время я разрабатываю небольшую игру, в которой воздушные шары всплывают из нижней части экрана, и игрок должен их лопнуть, прежде чем они достигнут вершины.
Каждый объект воздушного шара содержит метод для безопасной настройки AVAudioPlayer:
func setUpAudioPlayerWithFile(file:NSString, type:NSString) -> AVAudioPlayer? {
let path = NSBundle.mainBundle().pathForResource(file as String, ofType: type as String)
let url = NSURL.fileURLWithPath(path!)
var audioPlayer:AVAudioPlayer?
do {
try audioPlayer = AVAudioPlayer(contentsOfURL: url)
}catch {
print("BALLOON ERROR - AudioPlayer not avaliable.")
}
return audioPlayer
}
Затем в каждом методе init() воздушных шаров я запускаю следующий код:
if let popSound = self.setUpAudioPlayerWithFile("PopSound", type: "wav") {
self.popSound = popSound
}
Который работает абсолютно нормально до пары минут в игре. В этот момент я начинаю получать сообщение «BALLOON ERROR — AudioPlayer недоступен». в консоли для каждого создаваемого воздушного шара, указывающего, что мой ресурс не найден?
В это время мои SKEmitterNodes также начинают возвращать ноль. (2016-08-13 18:59:54.527 Stop & Pop[256:13785] *** -[NSKeyedUnarchiver initForReadingWithData:]: данные равны NULL)
Есть ли что-то очевидное, что я упускаю из виду, что может быть причиной этих ошибок?
Я надеюсь, что предоставил достаточно информации, спасибо за чтение.