Почему не воспроизводится звук?
func gameOver() {
UserDefaults.standard.set(score, forKey: "recentScore")
if score > UserDefaults.standard.integer(forKey: "highscore") {
UserDefaults.standard.set(score, forKey: "highscore")
}
let menuScene = MenuScene(size: view!.bounds.size)
view!.presentScene(menuScene)
}
brain.exe
перестал работать почему не воспроизводится звук? Я внедрил звук в проект, но программа не воспроизводит звук, а только показывает, что игра окончена. Почему это так?
soundWIRDSPIELEN += 1
if soundWIRDSPIELEN == 1 {
run(SKAction.playSoundFileNamed("lose", waitForCompletion: true))
}
soundWIRDSPIELEN -= 1
if soundWIRDSPIELEN == 0 {
gameOver()
}
1 ответ
Вот одна вещь, я уверен, что вы не сделали, хотя.
Вы говорите компилятору запустить lose sound
и ровно через 0,001 секунды компилятор вызывает gameOver
сцена.
Другими словами, компилятор воспроизводит звуки, но пользователь не может их услышать, потому что вы выходите из сцены в gameOver.
Вы должны попросить функцию gameOver подождать не менее 0,5 секунды, чтобы пользователь услышал звук. Также используйте расширение звукового файла.
run(SKAction.playSoundFileNamed("lose.mp3", waitForCompletion: false))
run(SKAction.sequence([SKAction.wait(forDuration: 1.0), SKAction.run(gameOver)]))