2012-02-15 50 views
2

我正在創建一個安卓遊戲,敵人隨機生成,並且可以同時有多個。通過計時器或遊戲循環創建新的敵人?

從定時器(所以5s,然後4s,然後6s ...等),或通過遊戲循環(數到50,創造敵人,數到64,創造敵人)。

如果使用者在渲染遊戲循環時使用的手機速度較慢,計時器可能會造成太多敵人,但如果使用遊戲循環,則不會很快得到敵人。似乎每個人都有專業人士和合格人士。

另外,哪種方式更好地節省處理能力,使圖像渲染速度更快?

在此先感謝

湯姆

而且,如果我用一個定時器每個敵人的「集團」,將有運行3個定時器。

+3

我想我們是一個組合:引擎應該由「蜱」驅動,但每次評估(動作,隨機事件,超時顯然)都不應該依賴蜱而是依賴於時間差異。通過這種方式,您甚至可以在不出現任何問題的情況下調整刻度(或自動適應硬件),但會自動獲得更平滑的動作。 – 2012-02-15 01:02:38

+0

@他非常感謝您,我從來沒有想過要依靠對方! – TomRichardson 2012-02-15 01:05:09

回答

1

我建議組合:引擎應該由「蜱」驅動,本身並不代表特定的持續時間。所有的發動機決策都應該基於時間計算完成而不依賴於時間標記(例如,System.currentTimeMillis減法)。這種方式當機器負載很高時,每秒可以獲得較低的幀數,但運動距離不會受到影響。當負載較低時,您會獲得更流暢的圖形和動作。你應該檢查FPS,如果它們升高,你甚至應該設置線程睡覺,或者你可以產生更多的敵人。如果太低,您可以降低圖形細節或防止產生新的敵人以適應這種情況。所以我不會啓動計時器,而是預先計算將來發生的事件的存儲時間,並在遊戲循環發生時檢查遊戲循環(當然不是精確比較,但現在是事件時間<)。