2011-01-29 58 views
0

我想在Android Canvas或其他方便的對象上以每秒30幀的速度繪製一些東西。在我的應用程序中繪製不同的圖形對象,如果有任何圖形對象被觸摸,圖形對象會改變它的形狀。我查看了View子類的onDraw(Canvas canvas)回調函數,但調用invalidate()在這裏沒有幫助:首先,我無法控制幀速率,其次如果對象移動得太快,運動就會顯得不平穩。如何在Android Canvas中進行動畫製作?

回答

1

我個人不喜歡Android內置的Animation類,所以我傾向於用Canvas做所有動畫。我已經找到了創建您想要在動畫中使用的圖像列表,然後使用int變量來存儲當前「幀」的運氣。爲了改進幀,我創建了一個睡眠時間爲30ms的線程,然後相應地更新幀變量。然後,無論您使用哪種更新處理程序,都可以創建switch語句或類似的東西,然後繪製相應的幀。

它看起來像很多工作,但它確實不是。把它全部推到一個班,你會愛好許多動畫來。