Swift - 给游戏添加背景音乐和音效(SpriteKit游戏开发)
作者:hangge | 2015-05-20 11:16
(本文代码已升级至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) {
}
}
全部评论(2)
代码报错
站长回复:代码已更新,你可以再看下。
博主这个能详细说明一下吗
站长回复:这个就是完整的代码,你新建个项目把代码复制进去就可以看到效果: