在我的Android项目中,我有一个矩阵用于在画布上绘制位图。在我的drawFrame方法中,我在Y方向上转换矩阵,所以看起来位图正在向上移动。它确实向上移动,但也在前一个位置绘制,留下多个自身。这是我的drawFrame代码:
Canvas canvas = null;
canvas = holder.lockCanvas();
Matrix moveMatrix = new Matrix ();
moveMatrix.postTranslate(0, 10);
matrix.preConcat(moveMatrix);
canvas.drawBitmap(bitmap, matrix, null);
holder.unlockCanvasAndPost(canvas);
“matrix”是全球Matrix成员。
有谁知道为什么这会在屏幕上留下“裸奔”的位图踪迹?
谢谢!
我忘了提到每次位图移动时,每个先前的位图位置似乎在y方向上下移动。因此它最终得到一串位图,看起来像是在上下抖动。这意味着每个帧都必须重绘每个位图,否则它们都会静止不动。
答案 0 :(得分:1)
您需要在位图的前一个位置清除画布:)