自分の設定で「バックグラウンドミュージックを有効/無効にする」ボタンを作成するにはどうすればよいですか?Swift:UISwitchボタンをゲームの状態に応じて設定する方法は?
音楽はゲームが開始されたときにのみ再生されます。 (再生するには「開始」をタップ→バックグラウンドの音楽も再生されます)
私はこれを現時点ではコード化していますが、実際にそれを行う方法はわかりません。
class SettingsViewController: UITableViewController {
// MARK: - IBOutlets
@IBOutlet weak var backgroundgMusicLabel: UILabel!
@IBOutlet weak var backgroundMusicSwitch: UISwitch!
// MARK: - Lifecycle
override func viewDidLoad() {
super.viewDidLoad()
}
@IBAction func backgroundMusicPressed(_ sender: Any) {
if backgroundMusicSwitch.isOn {
UserDefaults().set("On", forKey: "switch")
} else {
UserDefaults().set("Off", forKey: "switch")
}
}
}
私は私のMainViewControllerでこのコードてきたものの:
override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {
if game == .ready {
start()
}
}
をそして私はこのような音楽を再生:
var audioPlayer: AVAudioPlayer?
func playMusic() {
let url = Bundle.main.url(forResource: "MyMusic", withExtension: "mp3")!
do {
audioPlayer = try AVAudioPlayer(contentsOf: url)
guard let audioPlayer = audioPlayer else { return }
audioPlayer.prepareToPlay()
audioPlayer.play()
} catch let error {
print(error.localizedDescription)
}
}