SpriteKit 不播放音频文件?

SpriteKit not playing audio file?

我定制了一个 classSoundNode 来处理音频文件的播放。现在,它只播放默认的 "A2.mp3"

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

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

SoundNode().playSound()

但是,声音从来没有播放过??我已经确定该文件存在于我的项目中,并且还仔细检查了文件名以确保它是正确的。这里有什么问题?

SoundNode是一种节点。每个节点只有在场景中时才起作用。只是创建一个 SoundNode 并调用 playSound 并没有做任何事情,因为该节点还没有被添加到场景中!

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

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

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