SKView自动暂停恢复

时间:2015-02-17 18:46:54

标签: ios swift sprite-kit skview

我正在设计一个快速的SpriteKit游戏,在我的游戏玩法SKScene中,当我想暂停游戏时,我有一个方法。它看起来像这样:

func pause() {
    view?.paused = true
}

游戏暂停,但在看似任意的时间(1秒到120秒)之后,游戏只是取消暂停/恢复游戏,而不会调用我的resume()方法。我知道精灵套件会在应用程序变为活动状态时自动恢复游戏,但我在applicationDidBecomeActive中设置了一个断点,并且没有调用它。有谁知道为什么会这样?

我知道我可以设置我自己的暂停属性并检查每个更新循环,但我更喜欢这个优雅的解决方案,如果我能让它工作!

1 个答案:

答案 0 :(得分:0)

问题是我实施的ADBannerViewDelegate。这是罪魁祸首:

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    skView.paused = false
    println("bannerView:didFailToReceiveAdWithError called inside GameViewController class")
}

我通过将那些println调用放在每个具有.paused = false语句的方法中来解决问题。大多数情况下,横幅加载很好,但每次在蓝色的月亮中它们都会失败并称之为该方法。