我已经制作了一个自定义类SoundNode来处理音频文件的播放。目前,它只播放默认的“A2.mp3”
class SoundNode : SKSpriteNode{
func playSound(){
run(SKAction.playSoundFileNamed("A2", waitForCompletion: false))
}
}
然后我在我的SKScene中调用 playSound 方法,如下所示:
SoundNode().playSound()
但是,声音永远不会播放?我确保文件存在于我的项目中,并且还检查了文件名以确保它是正确的。这有什么问题?
答案 0 :(得分:2)
SoundNode
是一种节点。每个节点仅在场景中有效。只是创建一个SoundNode
并调用playSound
没有做任何事情,因为该节点尚未添加到场景中!
要使其工作,只需将其添加到场景中:
let node = SoundNode()
self.addChild(node)
node.playSound()
另外,我建议SoundNode
不应该继承SKSpriteNode
,因为它显然不是精灵,即可以在屏幕上看到的东西。只需让它继承SKNode
。