2013-01-15 33 views
-1

我在Android上製作遊戲,我希望它運行時間爲60秒,遊戲結束。很像水果忍者。我在這種情況下如何處理時間?是多使用的android.timer還是鬧鐘管理器?Android遊戲在特定時間後結束

+0

[你有什麼嘗試?](http://whathaveyoutried.com) – thegrinner

+0

即時通訊思想使用警報管理器在60秒後引發新的意圖。但這將使它更像是一個任務計劃應用程序,遊戲不應該是這樣的。如果我的遊戲關閉,它仍然會彈出新的意圖60s後 – user1750990

回答

2

您可以使用CountDownTimer:

private void initTimer() {  
    mWaitTime = 60 * 1000; 
    mWaitTimer = new CountDownTimer(mWaitTime, mWaitTime) { 

     public void onTick(long millisUntilFinished) {/* Do nothing */ } 

     public void onFinish() { 
      // stop your game... 
     } 
    }.start(); 
} 

一定要取消計時器上的onPause方法:

mWaitTimer.cancel(); 
+0

美麗!生病嘗試,謝謝:) – user1750990

+0

爲什麼mWaitTime在構造函數中需要兩個值? – user1750990

+0

第一個是等待onFinish()函數被調用的時間。第二個是onTick()調用之間的時間段。因此,如果您將總時間設置爲1分鐘並將時間段設置爲10秒,則將每10秒調用一次onTick函數6次。鑑於你在原始問題上寫的內容,我認爲你不需要onTick函數。 – Esparver

0

使用一個的AsyncTask,運行與睡眠方法的線程(在doInBackground方法)1秒鐘執行此操作60次,每秒後您可以更新進度,因此方法onProgressUpdate將在每秒鐘後調用運行60次AsyncTask將進入onPostExecute您可以在這裏完成您的應用程序或做任何你想做的事情,當時間已經用完。

相關問題