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

问题描述

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

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

谢谢。

解决方法

有一个名为 pausesIncomingScene 的属性,它会在过渡期间暂停传入的场景。

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

这应该会停止传入场景中的任何运行,直到过渡完成。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...