2011-03-20 105 views
1

我已經看到了在線升級的PHP MMO和Facebook遊戲,當你升級某些東西時有一個計時器。就像說我有一級農場,我升級到二級農場。它從14分鐘倒數。然後在14分鐘後升級過程完成。php計時器facebook遊戲

他們如何以編程方式進行此操作?

回答

1

做某些動作時,將當前時間+ 14分鐘作爲目標並將其保存在某處。在達到此時間之前,您不會解鎖新功能。您可以使用簡單的target time - current time顯示剩餘時間,您可以使用Javascript在客戶端上動態更新。

+0

假設您將服務器上的時間任務存儲在等待事項表中。那麼您是否必須對整個等待事件表進行掃描,以查看每秒完成的事情?這聽起來很激烈。 – David19801 2011-03-20 13:06:20

+0

這將是激烈的,但沒有必要。你只需要從db中加載所有'等待的東西'(比如說針對特定用戶),然後使用客戶端代碼來知道時間到了。如果新事物需要等待,您可以將它們添加到服務器端,以便在需要時可以重新獲取它們。如果你想要特別小心,當等待的事情是*客戶端時,你可以在確定服務器是否真正啓動之前再次檢查服務器。 – 2011-03-20 13:11:16

0

這不能用PHP(和其他服務器端語言)完成。唯一的解決方案是使用客戶端腳本語言,如JavaScript甚至Flash。我通常使用邊JavaScript的jQuery,這是相當容易學習。