2011-07-08 44 views
1

比方說,小塔。在這個iPhone遊戲中,你可以在你的塔樓有商店。您可以暫停或關閉iPhone,但當您返回遊戲時,您將在您離開的時間內向您報告商店獎金。甚至當你離開時仍會繼續的iPhone遊戲

還有一些推送通知時,大樓已完成等

我害怕,我不知道如何工作的,沒錯。我沒有要求確切的解決方案,我只需要知道從哪裏開始研究。我前一段時間的一個想法就像計算用戶離開的秒數(當前時間減去您離開時的時間),然後計算這些秒鐘中的每一秒的店鋪處理。但我不確定這一點。

+0

對我來說你的想法聽起來很合理。對於推送:您可以查看「UILocalNotification」。 – dasdom

回答

1

遊戲很可能實際上並不在後臺進行處理(大多數應用程序不允許在後臺執行任何操作)。當你重新啓動遊戲時,它會計算已經過了多少時間,然後處理在此期間發生的所有事件。

此外,正如Paul.s在下面的評論中提到的,以及其他人在其他答案中所建議的那樣,在iOS4上,您可以使用關閉前計劃的本地推送通知。

+1

此外,推送通知只是簡單的計劃通知,所以在應用程序關閉之前,它可能會註冊任何可能發生的通知,並且應用程序恢復時可能會取消尚未解除通知的任何計劃通知。 –

0

它既可以是遊戲的服務器端執行,也可以是機會遊戲,或者是由時間長短決定的類似Farmville的遊戲。

如果你要製作一個這樣的服務器和/或遊戲,那麼你需要決定採取哪條路線。

如果這將是用戶有良好的日子,有時不好的日子,那麼你將需要更多的服務器功率。然而,如果是基於時間的話,那麼你將能夠告訴他們上次登錄時以及下一次他們應該被授予的時間。你也可以採取這個想法,併爲你存儲的每個變量,你存儲需要完成的時間和開始時間。然後,你會做一個簡單的如果然後o看看該項目是否準備就緒。同樣的事情可以爲許多訪問者工作。每小時每個項目有10個訪客。如果您有兩件商品,那麼每小時您將收到20位訪客。

1

對於離線遊戲,您添加時間邏輯到您的物品並重新計算遊戲啓動時間。對於在線遊戲,您可以從服務器獲取遊戲狀態,該服務器不斷爲所有用戶重新計算,甚至是斷開連接的遊戲狀態。

2

更好的方法是在關閉應用程序之前進行計算。

找出它是什麼時間,然後計算將來什麼時候完成某些任務。這樣,您可以提前將推送通知安排到服務器。

如果您在重新打開應用程序後進行計算,並且無法在應用程序關閉時運行進程,它將如何知道何時推送?

看看這篇關於推送通知的文章,以更好地理解它們的工作原理。

http://blog.boxedice.com/2009/07/10/how-to-build-an-apple-push-notification-provider-server-tutorial/