我有一个在屏幕上移动的对象,背景是透明的 所以创建的问题是每个帧移动时对象都是多个 因为你可以看到这个画布下的其他画布
(动画是一个循环,每个循环创建一个新画布并在其上绘制对象) 这是代码:
while(isRunning){
Canvas c=null;
try{
c=this.getHolder().lockCanvas();
synchronized (this.getHolder()) {
this.onDraw(c);
}
}
catch(Exception e){
}
finally{
if(c!=null){
this.getHolder().unlockCanvasAndPost(c);
}
}
}
这是onDraw:
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
canvas.drawColor(Color.TRANSPARENT);
object.onDraw(canvas);
}
我需要背景透明,因为我在xml中有背景。 在我确定背景是透明的之前,我将它变成了彩色,因此它在每个循环上都覆盖了其他画布,然后没有任何问题。
我该如何解决这个问题?