2011-11-12 161 views
1

我正在開發一款使用Lunar Lander作爲教程的遊戲,並且我有幾個問題和一個問題。Android遊戲編程問題

在我的遊戲:

    當我按下Home鍵,在onPause()
  • 被調用。當我點擊我的遊戲圖標重新回到遊戲中時,我會看到遊戲畫面,但一切都被凍結了。
  • 當我按Back鍵時,onPause()被調用。當我點擊我的遊戲圖標返回時,我會看到空白屏幕。
  • 在這兩種情況下,我都看不到我的onResume()方法被調用。

所以我很困惑,爲什麼會發生這種情況。看Lunar Lander,沒有onResume()。這是爲什麼?由於遊戲線程在onPause()中停止,它又是如何啓動的?

在我的遊戲中,我不知道爲什麼onResume()沒有被調用,但我認爲它永遠不會到達那裏,因爲有某種凍結。

Lunar Lander代碼或我的代碼是否缺少某些東西? LL代碼句柄狀態是否正確更改?最後,是否有更好的網絡教程來處理遊戲狀態變化?

謝謝!

回答

0

在這兩種情況下,我想當你點擊你的應用程序圖標時,在第一個實例上啓動一個新的活動。我想說的Android文檔是不是它說清楚,但如果你想確保你的應用程序的根活動只實例化一次需要添加:

android:launchMode="singleTask" 

的屬性爲活動的應用程序清單

+0

謝謝...我已經將它添加到清單文件,但問題仍然存在......它似乎被凍結或卡在循環中。我仍然不確定爲什麼在LL中沒有onResume。難道一旦我重新進入應用程序,就沒有遊戲線程在運行? – Schizoid2k

+0

您的應用只使用一項活動嗎?在這種情況下,您可以發佈您正在使用的onCreate,onResume,onPause和onDestroy方法的摘錄嗎? –