ios - SKView暂停自动恢复

标签 ios swift sprite-kit skview

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

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

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

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

最佳答案

问题出在我对 ADBannerViewDelegate 的实现上。这是罪魁祸首:

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

我通过将那些 println 调用放在每个具有 .paused = false 语句的方法中来解决这个问题。大多数情况下,横幅加载正常,但偶尔会失败并调用该方法。

关于ios - SKView暂停自动恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28568853/

相关文章:

ios - 在用户输入地址 UITextField 时显示可能的条目

ios - 我可以启用 iOS 报亭功能而不将应用程序添加到报亭吗?

ios - 在某个位置画十字以及节点旋转的工作原理

ios - 如何在 SpriteKit 中翻转 Sprite ?

ios - UITableViewCell EditingStyle Delete自动取消选择tableview中的所有可见单元格

Iphone Interface Builder - 工具栏图像始终显示为白色框

html - 如何在 iOS Swift 上从网站(HTML 或 JSON 格式)检索文本和图像?

Swift 枚举顺序和比较

iOS Swift base64encoding 与 PAW 应用程序 Base64 编码不同

swift - SKPhysics 无法正常工作?