2011-03-30 53 views
1

我正在嘗試爲Android編程一個小遊戲,當我繪製位圖並使用Sprites爲其設置動畫時,我可以在圖像中看到一條線索! (這是一個PNG圖像)。 我知道這是不是精靈的問題,因爲我用靜態圖像沿X軸移動,我仍然可以看到蹤跡在Android中移動位圖時的圖像線索

trail of the animation

這是我用來加載圖像的代碼:

bmp = BitmapFactory.decodeResource(getResources(), R.drawable.image); 

我該如何消除它,所以我每次只能看到一個精靈?

非常感謝您提前!

回答

3

看起來您需要在每次繪製精靈之前清除背景。號召你的畫布drawColor應該這樣做,像

Canvas c = null; 
    try { 
     c = surfaceHolder.lockCanvas(null); 
     synchronized(surfaceHolder) { 
      c.drawColor(Color.BLACK); 
      c.draw(bmp, posX, posY, null); 
     } 
    } finally { 
     if(c != null) 
      surfaceHolder.unlockCanvasAndPost(c); 
    } 
+0

是的,我做到了! – noloman 2011-03-30 21:10:40

0

你是在SurfaceView還是Canvas做這個?

With SurfaceView我相信你必須手動清除你想要消失的繪圖部分。

1

嗯,這是一個非常愚蠢的事情:的 代替

@Override 
protected void onDraw(Canvas canvas) { 
    canvas.drawColor(***Color.BLACK***); 
    sprite.onDraw(canvas); 
} 

我做了

@Override 
protected void onDraw(Canvas canvas) { 
    canvas.drawColor(***color.black***); 
    sprite.onDraw(canvas); 
} 

非常感謝都是爲了答案,因爲我真的不確定爲什麼要這麼做,所以你們兩個都幫了很大的忙!