IOS SpriteKit 游戏进入后台时增加生命计数

Posted

技术标签:

【中文标题】IOS SpriteKit 游戏进入后台时增加生命计数【英文标题】:IOS SpriteKit Increment life count when game enters background 【发布时间】:2014-12-30 10:00:59 【问题描述】:

我创建了一个 SpriteKit 游戏(我的第一个游戏:)),我希望当用户在游戏中失去所有生命时,一段时间后生命计数恢复到原始状态并通知用户他的生命已经恢复(即使应用程序处于后台模式也会执行此代码),就像 Candy Crush 所做的那样。我看到它完成的唯一方法是使用后台任务,但根据以下链接,我应该指定我的后台任务将执行什么,我不知道在这里为我的情况选择什么:

https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html

所以这是我的问题,我也想问一下这是否是做我想做的正确方法还是有其他解决方案

提前致谢

【问题讨论】:

您解决了这个问题吗? 【参考方案1】:

您可以安排UILocalNotification 在特定日期/时间触发,以便在应用处于后台(或根本不运行)时让用户知道游戏的状态。如果经过适当的时间,您可以在游戏进入前台时恢复生命计数。

【讨论】:

抱歉花了这么长时间才回答 - 被其他项目卡住了。我尝试了您的解决方案,这正是我想要的。谢谢【参考方案2】:

我认为 Apple 在允许哪些应用程序在后台运行方面真的很吝啬。我很确定 Candy Crush 会使用推送通知来让你回来玩。推送通知使用外部服务器向用户发送有关应用程序的通知。由于它使用外部服务器,因此不会通过在后台运行无休止的进程来消耗用户的电池寿命。您可以在此处阅读有关推送通知的更多信息

https://developer.apple.com/notifications/

【讨论】:

以上是关于IOS SpriteKit 游戏进入后台时增加生命计数的主要内容,如果未能解决你的问题,请参考以下文章

Spritekit - 在 didBecomeActive 时保持游戏暂停

swift spritekit 随着游戏时间的推移增加重力?

iOS 7 SpriteKit 游戏 - 保存加载游戏时出错:'尝试将 nil 节点添加到父节点:<SKNode> 名称:'(null)'

SpriteKit - 为啥我的游戏会随着新 iOS 版本的发布而出现错误?

应用程序激活后保持游戏暂停?

iOS Spritekit 游戏中的肌酐水平