SpriteKit - 如何检测 SKTransition 动画是否完成?

SpriteKit - How to detect if SKTransition animation is finished?

在我的 SpriteKit 项目中,我在场景之间转换时使用 SKTransition.doorOpenHorizontal() 动画。 在下一个场景中,我在 didMove() 函数中使用一个计时器每隔几毫秒创建一次节点。我注意到,即使前一个场景的过渡动画还没有完成并且场景没有更新,节点计数器也在增加。 我想避免这种情况和 运行 仅在过渡动画完成后才创建节点的计时器。

SpriteKit 有什么方法可以在我们切换场景时检测 SKTransition 动画是否完成?或者我应该只使用第二个计时器来延迟节点的创建?解决此问题的最佳方法是什么?

谢谢。

有一个名为 pausesIncomingScene 的属性,它将在转换期间暂停传入场景。

      let animation = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
      animation.pausesIncomingScene = true

这应该会停止进入场景中的任何东西运行,直到转换完成。