我对如何访问和将AVAudioPlayer变量从一个类更改为另一个类感到困惑。

我有一个名为Gamescene的类,它具有:

 var backgroundMusicPlayer: AVAudioPlayer!

在代码中,我进一步
 func playBackgroundMusic(filename: String) {
    let url = NSBundle.mainBundle().URLForResource(
        filename, withExtension: nil)
    if (url == nil) {
        println("Could not find file: \(filename)")
        return
    }

    var error: NSError? = nil
    backgroundMusicPlayer =
        AVAudioPlayer(contentsOfURL: url, error: &error)
    if backgroundMusicPlayer == nil {
        println("Could not create audio player: \(error!)")
        return
    }

    backgroundMusicPlayer.numberOfLoops = -1
    backgroundMusicPlayer.prepareToPlay()
    backgroundMusicPlayer.play()



}

我还无法弄清楚如何从主菜单类访问变量backgroundMusicPlayer。如果可以访问它,我相信backgroundMusicPlayer.stop()可以解决问题。

最佳答案

从GameScene类过渡到MainMenu类时,应该考虑在GameScene中停止音乐播放器。您可以从MainMenu类再次开始音乐。

如果出于某种原因您不希望这样做,请查看使用NSNotificationCenter在类之间发送消息。

07-28 03:31