Отключить гравитацию, когда пользователь отправляет приложение в фоновом режиме - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть простая игра, связанная с гравитацией в SpriteKit.Перед началом игры гравитация выключена.При касании экрана вызывается следующий код:

missile?.physicsBody?.affectedByGravity = true

Если вы берете сообщение и возвращаетесь к нему, я бы хотел, чтобы гравитация отключалась, пока вы снова не коснетесь экрана.

Я предполагаю, что это что-то в AppDelegate, но я буквально застрял там.

Заранее спасибо за любые указатели.

1 Ответ

0 голосов
/ 28 сентября 2018

Сначала добавьте наблюдателя для UIApplication.willResignActiveNotification на ваш mainNode следующим образом:

NotificationCenter.default.addObserver(self, selector: #selector(appMovedToBackground), name: UIApplication.willResignActiveNotification, object: nil)

теперь вы можете приостановить ваш mainNode в appMoveToBackground:

@objc func appMovedToBackground() {
    mainNode.isPaused = true
}

Убедитесь, чтоудалить наблюдателя в deinit:

deinit {
    NotificationCenter.default.removeObserver(self)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...