Почему не воспроизводится звук?

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)]))
Другие вопросы по тегам