SKView приостановлен автоматически возобновляется
Я быстро создаю игру SpriteKit, и в моем игровом процессе SKScene у меня есть метод, который вызывается, когда я хочу приостановить игру. Это выглядит так:
func pause() {
view?.paused = true
}
Игра отлично останавливается, но после, казалось бы, произвольного промежутка времени (от 1 до 120 секунд) игра просто останавливает / возобновляет игровой процесс, даже не вызывая мой метод resume(). Мне известно, что набор спрайтов автоматически возобновляет игровой процесс после того, как приложение становится активным, но я установил точку останова в applicationDidBecomeActive, и он не вызывается. Кто-нибудь знает, почему это происходит?
Я знаю, что мог бы установить свое собственное приостановленное свойство и проверять его каждый цикл обновления, но я бы предпочел это элегантное решение, если бы смог заставить его работать!
1 ответ
Проблема была в моей реализации ADBannerViewDelegate. Вот виновник:
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
skView.paused = false
println("bannerView:didFailToReceiveAdWithError called inside GameViewController class")
}
Я решил эту проблему, поместив эти вызовы println в каждый метод с оператором.paused = false. Большую часть времени баннеры загружаются нормально, но каждый раз в голубой луне они терпят неудачу и вызывают этот метод.