【问题标题】:SpriteKit - How to detect if SKTransition animation is finished?SpriteKit - 如何检测 SKTransition 动画是否完成?
【发布时间】:2021-05-25 14:31:34
【问题描述】:

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

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

谢谢。

【问题讨论】:

    标签: ios swift xcode macos sprite-kit


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2015-04-05
      • 1970-01-01
      • 2014-10-25
      • 2012-02-26
      • 2011-12-08
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      相关资源
      最近更新 更多