【问题标题】:SKAudioNode completion not detected (using SKAction)未检测到 SKAudioNode 完成(使用 SKAction)
【发布时间】:2018-03-25 21:21:27
【问题描述】:

我需要知道 SKAudioNode 何时完成,但使用 SKAction(:completion:) 似乎不起作用:

      audioNode.run(SKAction.play()) {

        // do something after it has finished
      }

声音播放正常,但应该在完成时执行的东西实际上立即运行。

谁能告诉我我做错了什么,如果可能的话,我该如何解决这个问题?

谢谢

【问题讨论】:

    标签: ios swift gamekit skaction skaudionode


    【解决方案1】:

    一种可能的解决方法是强制延迟。虽然它有效,但它远非完美:

    let sequence = SKAction.sequence( [SKAction.play(), SKAction.wait(forDuration: soundDuration ) ])
    
    audioNode.run(sequence, completion: {
      audioNode.removeFromParent()
    })
    

    【讨论】:

      猜你喜欢
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 2020-09-07
      • 1970-01-01
      • 1970-01-01
      • 2017-03-12
      • 2014-12-06
      • 2011-02-18
      相关资源
      最近更新 更多