2011-08-25 162 views
0

我使用下面的代碼來動畫化一個圖像,它的工作正常,但動畫圖像看起來很少跳躍,而不是平滑移動(它看起來像移動,但不是很光滑,它會停止一段時間)Can任何人在代碼中發現問題?Android圖像移動動畫問題

class AnimationLoop implements Runnable 
{ 
     public void run() 
    { 
     while(true) 
     { 
      while(running) 
      {       
       try 
       { 

        Thread.sleep(30); 

       } 
       catch(InterruptedException ex) {} 
     } 
    } 
    counter+=1; 
    updatePosition(0); 
    main.postInvalidate(); //main is type panel 

} 
private synchronized void updatePosition(int index) { 
     mYPositions[index]-=2;   // animate from bottom to top 
     mXPositions[index]-=2; 
} 


    @Override 
    protected void onDraw(Canvas canvas) 
    { 

      canvas.drawBitmap(balloonSet.get(0), mXPositions[0], mYPositions[0],null); 
    } 

回答

0

動畫的平滑度將取決於座標的變化以及它停留在單個座標上的時間。如果您想要以相同的速度移動動畫,但要稍微平滑一些,請按相同的比例縮短時間和單位更改。

例如:你的情況下降50%。這將使x和y的位置被扣1,並且睡眠時間將是15ms。

這可能有助於how to animate bitmaps

+0

我仍然可以看到..其像跳躍.. – vnshetty

+0

我已經添加了答案的鏈接。希望能幫助到你。 – Ronnie