实现持久时钟

时间:2012-02-17 15:07:42

标签: iphone xcode cocos2d-iphone

我目前正在使用Cocos2D开发适用于iOS的新游戏。游戏需要在首次启动后的x个时间后推进状态。例如:

  

州 - 时间

     
      
  1. 首次启动
  2.   
  3. 24小时
  4.   
  5. 48小时
  6.   

我的第一个想法是在首次启动时获取数据和时间并将其保存到文件中。然后我可以现在再次检查它,看看已经过了多少时间。这个问题是我需要它实时,以便一旦达到状态,更改将立即生效。当用户不使用该应用程序时,它还需要继续。我正在寻找的功能类似于iOS策略游戏在构建需要x时间的结构时的工作方式。

无论如何,我的问题是;是否有某种类型的库可以实现这一点,如何在用户退出应用程序后继续它?

1 个答案:

答案 0 :(得分:3)

它不能。除了那种滥用视频/音乐播放之外,你的应用程序在没有运行时也无法正常工作。

你可以做两件事来模拟这种行为(我认为策略游戏也会这样做):

  1. 您可以随时计算用户仍在运行您的应用程序时将来发生某些事情时的要点(例如,住房结构已完成)。当用户离开您的应用时,将这些未来时间存储为本地事件 - 然后用户将收到游戏中发生了某些事情的通知(例如消息“教堂已经建成。你想去吗?现在到教堂?)“。按是将打开您的应用程序,您可以做任何必要的事情来建立教堂。所以实际上你不会在它发生的时候这样做,但是当用户下次打开你的应用程序时。
  2. 喜欢1,但没有通知。只需记住用户离开应用程序时(例如,在您的设置中,我会使用属性列表;当应用程序委托获取appWillResignActive事件时设置它),并在下次启动时执行任何操作在此期间完成了 - 他无法区分: - )。
  3. 这一切都是为了相信这里: - )。