私は一時停止メソッドを持つSKSceneを持っています。SwiftのAppDelegateから現在のSKSceneを参照する方法
func applicationWillTerminate(_ application: UIApplication) {
pauseLevel()
}
しかし、私はAppDelegateから私のSKSceneへの参照を取得する方法がわからない:私はこのような何かを行うことができるようにしたいです。
Iしかし、それはUIViewのある
application.inputView
を使用してみました。 SKSceneはどのように入手できますか?
deinit {
NotificationCenter.default.removeObserver(self)
}
override func didMove(to view: SKView) {
self.anchorPoint = CGPoint(x: 0.5, y: 0.5)
self.backgroundColor = UIColor(red:0.17, green:0.24, blue:0.31, alpha:1.0)
self.physicsWorld.gravity = CGVector(dx: 0, dy: 0)
NotificationCenter.default.addObserver(self, selector: #selector(runPause), name: .UIApplicationWillResignActive, object: nil)
}
EDITは、それが十分な観察者を毎回除去するのに効果的なのでしょうか?
いいえ、シーンがメモリから削除された場合にのみ削除されます。シーンがメモリに残っていても現在のビューから離れている場合、オブザーバはまだ存在します。私はあなたのゲームがどのように設計されているのか分からず、シーンがメモリから削除されたときに少なくともあなた自身を守っているので、あなたのアプリは終了時にクラッシュしません。 – Knight0fDragon