0
我用我的音樂單獨的迅速文件,它看起來像這樣斯威夫特辛格爾頓SpriteKit
import AVFoundation
var menuMusic = AVAudioPlayer()
// Menu Music
func playMenuMusic() {
var menuMusicURL = NSBundle.mainBundle().URLForResource("MenuBackground", withExtension: "mp3")
menuMusic = AVAudioPlayer(contentsOfURL: menuMusicURL, error: nil)
menuMusic.numberOfLoops = -1
menuMusic.prepareToPlay()
menuMusic.play()
}
// Pause
func pauseMenuMusic() {
menuMusic.pause()
}
我可以在任何地方調用它的功能在我的項目,像GameScene.swift,通過寫pauseMenuMusic()
現在我看到人們這樣做的單方式,以便它看起來像這樣
import AVFoundation
class Audio: NSObject {
var menuMusic = AVAudioPlayer()
static let shareInstance = Audio() // with swift 1.2 no need for struct and class var anymore
// Play Menu Music
func playMenuMusic() {
var menuMusicURL = NSBundle.mainBundle().URLForResource("MenuBackground", withExtension: "mp3")
menuMusic = AVAudioPlayer(contentsOfURL: menuMusicURL, error: nil)
menuMusic.numberOfLoops = -1
menuMusic.prepareToPlay()
menuMusic.play()
}
// Pause
func pauseMenuMusic() {
menuMusic.pause()
}
到現在從任何地方它調用一個函數將Audio.shareInstance.pauseMenuMusic()。
有人能讓我知道最好的方式是什麼,以及究竟有什麼不同。非常感謝你