未检测到 SKAudioNode 完成(使用 SKAction)
SKAudioNode completion not detected (using SKAction)
我需要知道 SKAudioNode 何时完成,但使用 SKAction(:completion:) 似乎不起作用:
audioNode.run(SKAction.play()) {
// do something after it has finished
}
声音播放正常,但应该在完成时执行的东西实际上会立即运行。
谁能告诉我我做错了什么,如果可能的话,我该如何解决?
谢谢
一种可能的解决方法是强制延迟。虽然它有效,但远非完美:
let sequence = SKAction.sequence( [SKAction.play(), SKAction.wait(forDuration: soundDuration ) ])
audioNode.run(sequence, completion: {
audioNode.removeFromParent()
})
我需要知道 SKAudioNode 何时完成,但使用 SKAction(:completion:) 似乎不起作用:
audioNode.run(SKAction.play()) {
// do something after it has finished
}
声音播放正常,但应该在完成时执行的东西实际上会立即运行。
谁能告诉我我做错了什么,如果可能的话,我该如何解决?
谢谢
一种可能的解决方法是强制延迟。虽然它有效,但远非完美:
let sequence = SKAction.sequence( [SKAction.play(), SKAction.wait(forDuration: soundDuration ) ])
audioNode.run(sequence, completion: {
audioNode.removeFromParent()
})