閉じる後に自分のアプリケーションに戻るときは、applicationDidBecomeActive(application: UIApplication)
がAppDelegate.swiftで自動的に起動します。 これはアプリの一時停止状態を処理するメソッド発射: GameViewController().pause(true)
アプリがアクティブになった後でSpriteKitシーンを一時停止したままにする
方法は次のようになります。
func pause(paused: Bool) {
if paused == true {
scene?.paused = true
print("paused")
} else if paused == false {
scene?.paused = false
print("unparsed")
}
}
最初のゲームが自動的に行われるべきかを正確にある一時停止されたアプリを起動します。アプリに戻ってきたときには、それはポーズしません。それでもコンソールは「一時停止」を表示します。
scene?.paused
の代わりにscene?.view?.paused
を使ってみました。これは機能しますが、シーンで実行されているアニメーションのラグにつながります。
すべてのヘルプは非常に私はupdate(currentTime: NSTimeInterval)
機能でpause()
メソッドを呼び出すことによって、問題を解決するために管理
EDITを理解されるだろうが、それは方法があることを意味し、私はこのソリューションを好きではありません1フレームにつき1回と呼ばれる。他のソリューションは非常にあなたがGameViewControllerの新しいインスタンスを作成するのではなく、現在の1つにアクセスしているので、このコードは何の意味
GameViewController().pause(true)
を行うものではありません
この質問は何度も答えられています。検索機能を使用してください。 – Knight0fDragon
何か有用なものが見つかったのであれば尋ねなかったでしょう。質問が出されるたびに、別の解決策があり、私のために働いた人はいません。 – Gary
シーンが一時停止または一時停止したときに、すべての子の状態を反転させるため、シーンの一時停止を無効にする必要があります。一時停止をオーバーライドし、すべての子の一時停止を一時配列に配置し、一時停止値を割り当ててから、子の一時停止状態を復元します。あなたは私の答えを見なければならないかもしれません。もし私がそうしているのであれば、私の答えはhttp://stackoverflow.com/questions/25351709/how-to-keep-spritekit-scene-paused-when-app-becomes-activeになります。 – Knight0fDragon