Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
(本文代码已升级至Swift3)
声音管理类 SoundManager.swift
import SpriteKit //引入多媒体框架 import AVFoundation class SoundManager :SKNode{ //申明一个播放器 var bgMusicPlayer = AVAudioPlayer() //播放点击的动作音效 let hitAct = SKAction.playSoundFileNamed("hit.mp3", waitForCompletion: false) //播放背景音乐的音效 func playBackGround(){ print("开始播放背景音乐!") //获取bg.mp3文件地址 let bgMusicURL = Bundle.main.url(forResource: "bg", withExtension: "mp3")! //根据背景音乐地址生成播放器 try! bgMusicPlayer = AVAudioPlayer (contentsOf: bgMusicURL) //设置为循环播放( bgMusicPlayer.numberOfLoops = -1 //准备播放音乐 bgMusicPlayer.prepareToPlay() //播放音乐 bgMusicPlayer.play() } //播放点击音效动作的方法 func playHit(){ print("播放音效!") self.run(hitAct) } }
主场景 SoundManager.swift
import SpriteKit class GameScene: SKScene { lazy var sound = SoundManager() override func didMove(to view: SKView) { //将声音管理实例加入游戏场景中 self.addChild(sound) //播放背景音乐 sound.playBackGround() } override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) { //播放音效 sound.playHit() } override func update(_ currentTime: TimeInterval) { } }
代码报错
博主这个能详细说明一下吗