如何获取当前正在进行的SCNAction的剩余持续时间?

时间:2018-01-14 01:18:31

标签: swift scenekit duration

NodeA的SCNAction运行持续时间为10秒。 说4秒过去了。 如何获得正在进行的SCNAction的剩余持续时间(在这种情况下为6秒)?

我计划使用剩余的持续时间来动态创建另一个最多可累计10秒的SCNAction。

NodeA动作持续时间+ NodeB动作持续时间= 10.

1 个答案:

答案 0 :(得分:1)

如果您想操纵elapsedTime,则应使用SCNAction.customAction,例如:

let runningAction = SCNAction.customAction(duration: 10) { (node, elapsedTime) -> () in 
  // do stuff here with elapsedTime
  print(elapsedTime)
}
  

当动作执行时,SceneKit会反复调用该块,直到动作的持续时间到期。对于每个调用,SceneKit计算经过的时间并将其传递给块

文档here