#ios #swift #xcode #sprite-kit
Вопрос:
Я создаю игру SpriteKit, и в моей игровой сцене я не хочу, чтобы они могли закрыть приложение, а затем вернуться в него позже и продолжать играть с того места, на котором они остановились.
После некоторых исследований я выяснил, что Центр уведомлений позволяет приложению знать, когда оно перемещается в фоновый режим, но я не знаю, как это реализовать в моей игре? Это какое-то переопределение функции или что-то, что я добавляю в свою функцию «didMove для просмотра».
Я не уверен, с чего начать, потому что я использую SpriteKit, и я не смог найти в Интернете ничего, описывающего, как это сделать.
Спасибо за вашу помощь!
Комментарии:
1. Поговорите с контроллером просмотра, на котором размещена игра
SKView
.2. Вы можете использовать
SceneDelegate
методы для обработки событий жизненного цикла. developer.apple.com/documentation/uikit/app_and_environment/…
Ответ №1:
Я не уверен, что SpriteKit работает так же, но если мы говорим об обычных приложениях swift, вы можете использовать файлы AppDelegate или SceneDelegate для этого, например, я использовал AppDelegate для той же задачи (но я вообще не использовал SceneDelegate в своем приложении! Я думаю, что в вашем случае SceneDelegate будет лучше)
func applicationDidEnterBackground(_ application: UIApplication) {
let viewControllers = navController.viewControllers
for viewController in viewControllers {
if viewController.isKind(of: YourTargetViewController.self) {
// here put your code to open desired ViewController
}
}
}