2017-10-08 126 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

嘗試雙向 - 沒有工作,動畫停止,對不起。 –