2014-05-02 79 views
1

有沒有辦法在動態壁紙的位圖上逐幀動畫? 我有以下代碼,並且幀顯示在動態壁紙上。 但是,它們全都出現在同一時間,而不是一個接一個地出現。 看起來好像在框架之間沒有持續時間。動態壁紙上的幀逐幀

有人可以幫忙嗎? 在此先感謝。

代碼:

 int frame = 0; 
     for (;frame < 8; frame ++) 
     { 

      int[] pirates_frame = { 
      R.drawable.frame1, R.drawable.frame2, R.drawable.frame3, 
      R.drawable.frame4, R.drawable.frame5, R.drawable.frame6, 
      R.drawable.frame7, R.drawable.frame8,}; 


      icon = BitmapFactory.decodeResource(getResources(),pirates_frame[frame]); 
      canvas.drawBitmap(icon, x2, y2, null); 
      System.out.println("frame is : " + frame); 
      icon.recycle(); 
     } 

回答

1

書中有沒有時間延遲。它只是馬上循環,直到完成。您應該嘗試使用可運行的或有延遲的線程繪製每個幀。

有,這裏使用可運行一個很好的教程:http://www.vogella.com/tutorials/AndroidLiveWallpaper/article.html

此外,我建議不要在初始化你pirates_frame for循環,因爲你正在做同樣的事情,8倍,在某些情況下可能會很慢下來。