2017-10-08 120 views
3

我试图调试SpriteKit动画的一个非常奇怪的行为。这是很容易重现:SpriteKit动画意外停止

  1. 在Xcode中创建一个新的游戏项目,保持所有选项不变。
  2. 打开GameScene.swift和变线#23 label.run(SKAction.fadeIn(withDuration:2.0))label.run(SKAction.fadeIn(withDuration:0.2))
  3. 连接手机并开始一个调试会话,观察文本(Hello,World!)如何淡入并以完全亮度显示。那么,迄今为止,那么好。
  4. 停止Xcode的应用程序,然后再次点击手机上的图标。
  5. 观察文字虽然看起来没有完全消失。

我发现这个试图了解为什么当我的应用程序加载时,我的动画停止了一半。我认为,如果某个初始化步骤比动画长,但视图停止刷新,但我不知道如何解决这个问题。我还注意到,如果你点击屏幕刷新和动画视图出现在最后的状态。

iOS版本:10.3

+0

运行后发现井和孤立! – Confused

回答

0

我发现iOS11和SpriteKit存在严重问题。转换过程中的游戏场景会自动暂停(但仅在iOS11中)。

过渡到现场运行

myScene.isPaused = false

,它应该可以解决问题,不应该有不利影响时,游戏在iOS10

+0

谢谢你的建议。你把'myScene.isPaused = false'放在哪里?我试图投入“didMove” - 没有任何效果。而且,我忘了提及,如果你想把它放在场景中的didMove中,那么展示这个问题的目标版本是10.3 –

+1

它只是isPaused = false如果你想把它放在GameViewController中,把它放在当前场景之后行并使用sceneName.isPaused = false –

+0

尝试双向 - 没有工作,动画停止,对不起。 –