2012-02-17 81 views
0

我目前正在使用Cocos2D爲iOS設計一款新遊戲。遊戲需要在首次發佈後的x個時間後推進狀態。因此,例如:實現一個持久時鐘

國家 - 時間

  1. 首次推出
  2. 24小時
  3. 48小時

我的第一個想法是剛上車的第一數據和時間啓動並將其保存到文件中。然後,我可以再次檢查它,看看有多少時間過去了。這個問題是我需要實時進行的,以便一旦達到狀態,更改將立即生效。當用戶不使用應用程序時,它也需要繼續。我正在尋找的功能與iOS策略遊戲的工作方式類似,您可以在其中構建需要花費大量時間的結構。

無論如何,我的問題是;是否有某種類型的庫可以實現這一點,如何在用戶退出應用程序後繼續使用它?

回答

3

它不能。除了一些濫用視頻/音樂播放等功能外,沒有辦法讓您的應用在未運行時進行工作。

你有兩件事情可以做,以模擬這種行爲(和我想的策略遊戲做到這一點,太):

  1. 您可以在任何時間計算,而用戶仍然在運行你的應用程序的要點在將來什麼時候會發生(例如房屋結構完成)。當用戶離開您的應用程序時,將這些未來時間存儲爲本地事件 - 然後用戶會收到通知,說明您的遊戲中發生了某些事情(例如「教會已建好,您現在想要去教堂嗎? 」。按yes會打開你的應用程序,你可以做任何必要的事情來建立教堂。所以實際上你不會在它發生的時候這樣做,但是當用戶下一次打開你的應用時。
  2. 喜歡1,但沒有通知。只要記住用戶離開應用程序時(例如,在您的設置中,我會使用屬性列表;在應用程序委託獲取appWillResignActive事件時將其設置),並且下次他開始執行所有在此期間完成的操作 - 他將無法分辨:-)。

這是關於在這裏相信:-)。

+0

很好的答案,謝謝,這聽起來不太難實現:) – Peter 2012-02-17 17:16:07