SpriteKit не воспроизводит аудиофайл?

Я создал пользовательский класс SoundNode для управления воспроизведением аудиофайлов. На данный момент, он играет только по умолчанию "A2.mp3"

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

Затем я вызываю метод playSound в моем SKScene следующим образом:

SoundNode().playSound()

Но звук никогда не играет?? Я убедился, что файл существует в моем проекте, а также дважды проверил имя файла, чтобы убедиться в его правильности. В чем здесь проблема?

1 ответ

Решение

SoundNode это своего рода узел. Каждый узел работает только тогда, когда он находится в сцене. Просто создаю SoundNode и звонит playSound ничего не делает, потому что узел не был добавлен в сцену!

Чтобы сделать эту работу, просто добавьте ее на сцену:

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

Кроме того, я предлагаю SoundNode не должен наследовать SKSpriteNode потому что это явно не спрайт, то есть то, что можно увидеть на экране. Просто сделай это наследником SKNode,

Другие вопросы по тегам