2011-06-16 16 views
1

我有一個SurfaceView,它正在繪製一系列位圖。這些位圖可以很容易地進行幾何操作(縮放/旋轉/平移/等)。一個例子是彈跳的球,它可能只是使用平移/旋轉操作。球只是一個單一的位圖。如何在Android中的SurfaceView中播放動畫

我希望用一串位圖替換這個'球'位圖,例如,如果球在一陣煙花爆炸中爆炸,我有單獨的框架,我希望將它們串在一起。

沒有必要在我的SurfaceView中的每個onDraw()調用中手動循環它們,我該如何解決這個問題?我知道在正常情況下,我可以使用XML文件中的框架製作AnimationDrawable,將其綁定到ImageView(設置爲背景)然後調用它。但是,我正在使用SurfaceView在屏幕上顯示所有圖形,而不是ImageView。我已經讀過你可以覆蓋SurfaceView上的其他視圖,但我不確定是否可以獲得所需的確切位置。例如,在我的SurfaceView上,球可能在X = 65 Y = 21時發生爆炸,我怎麼能把這個確切的座標轉換成我的ImageView?

任何幫助或提示替代方法將不勝感激。

回答

0

如果你想保留它更多的分開,你可以創建另一個類來處理這個動畫,並跟蹤它在其框架,並在您SurfaceViewonDraw使用然後委託精靈繪製到這個類的位圖。

+0

這可能是我將不得不使用的方法,除非有一些方便的方法,我錯過了,我希望有人可能知道。 – Dororo 2011-06-16 23:45:11

+0

三是不需要跟蹤任何類型的東西。您可以使用AnimationDrawable。看到這裏:http://stackoverflow.com/questions/6531246/android-animate-character-in-surfaceview – RichieHH 2014-07-27 20:58:00