2013-01-18 72 views
2
  1. 我正在製作Android遊戲,其中一些圖形元素快速移動。 我打算使用Canvas,但擔心onDraw方法會在不規則的局部區域被調用,使得快速元素以不規則的速度移動。 有沒有辦法確保定期調用onDraw方法。android畫布onDraw計時

  2. 或者,如果我能以毫秒爲單位獲得系統時間,我可以在連續調用onDraw之間取得差異,並根據這些快速元素的速度使其運動平滑。

請幫助,

薩米爾

回答

0

我將使用畫布,但擔心的的onDraw方法將在不規則interevals使得快速元素被稱爲不規則的速度移動

您應該不是更新對象的位置onDraw(),因爲:

  • 事實上,該方法可能無法在預定的時間間隔
  • 它是爲了叫得出對象,而不是更新的對象

相反,另一種方法更新對象/世界你定期使用定時器進行呼叫。

在更新世界之後,請致電View觸發onDraw()方法。如果你的應用程序有一些空閒時間,它會被調用。如果沒有,那麼world update method將繼續運行並因此更新您的世界。

(當然,如果你的應用是繁忙的觀點是永遠不會更新,您有問題需要解決!)

或者,如果我能在毫秒得到系統的時間,我可以走差異化在兩次連續的onDraw調用之間,並基於這些快速元素的速度使其運動平滑。

這是「世界更新方法」中的方法! 它將糾正不規則的定時器間隔。