问题描述
在我的 SpriteKit 项目中,我在场景之间转换时使用 SKTransition.doorOpenHorizontal() 动画。 在下一个场景中,我在 didMove() 函数中使用计时器每隔几毫秒创建一个节点。我注意到,即使前一个场景的过渡动画尚未完成且场景未更新,节点计数器也在增加。 我想避免这种情况,只有在过渡动画完成后才运行计时器来创建节点。
当我们在场景之间转换时,SpriteKit 中是否有任何方法可以检测 SKTransition 动画是否完成?或者我应该使用第二个计时器来延迟节点的创建?解决此问题的最佳方法是什么?
谢谢。
解决方法
有一个名为 pausesIncomingScene 的属性,它会在过渡期间暂停传入的场景。
let animation = SKTransition.doorsOpenHorizontal(withDuration: 1.0)
animation.pausesIncomingScene = true
这应该会停止传入场景中的任何运行,直到过渡完成。