2014-01-19 62 views
0

我正在構建一些小型項目,這是關於遊戲的 我設法在遊戲中使用進度條作爲我的hp欄。 然而,它沒有任何動畫。 這裏的'損害'是一個整數,這是損害惠普吧。 和hpBar是HP欄對應於curHp如何使用android上的進度條作爲hp欄

for(int i=0 ; i<damage ; i++){ 
     new Handler().postDelayed(new Runnable(){ 
     @Override 
     public void run(){ 
      --curHp; 
      hpBar.setProgress(curHp); 
     } 
    },40); 


} 

我認爲會有一個40ms的延遲時馬力降低由1 但是INFACT,如果損傷是40,hpBar下降在時間爲1.6s後

是否有任何解決方案使進度條減少一定數量並平滑移動?

回答

0

您應該提前創建Handler()並將其保持在範圍內。

此外,您還可以睡螺紋:

for(int i=0 ; i<damage ; i++){ 
    new Handler().postDelayed(new Runnable(){ 
    @Override 
    public void run(){ 
     try { 
      Thread.sleep(40); 
     } catch (InterruptedException e) { } 
     --curHp; 
     hpBar.setProgress(curHp); 
    } 
},40); 
} 

應該說,你很可能是一個自定義視圖得到更好的里程比試圖讓進度是你的HP計:

http://developer.android.com/training/custom-views/index.html