SpriteKit没有播放音频文件?

时间:2017-04-02 07:20:11

标签: swift3 sprite-kit skaction skaudionode

我已经制作了一个自定义类SoundNode来处理音频文件的播放。目前,它只播放默认的“A2.mp3”

class SoundNode : SKSpriteNode{
func playSound(){
    run(SKAction.playSoundFileNamed("A2", waitForCompletion: false))
    }
}

然后我在我的SKScene中调用 playSound 方法,如下所示:

SoundNode().playSound()

但是,声音永远不会播放?我确保文件存在于我的项目中,并且还检查了文件名以确保它是正确的。这有什么问题?

1 个答案:

答案 0 :(得分:2)

SoundNode是一种节点。每个节点仅在场景中有效。只是创建一个SoundNode并调用playSound没有做任何事情,因为该节点尚未添加到场景中!

要使其工作,只需将其添加到场景中:

let node = SoundNode()
self.addChild(node)
node.playSound()

另外,我建议SoundNode不应该继承SKSpriteNode,因为它显然不是精灵,即可以在屏幕上看到的东西。只需让它继承SKNode