我对如何访问和将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在类之间发送消息。