Android 画布上的位图笔刷路径-不是平滑路径
我想用透明画布和surfaceView开发一款游戏Android 画布上的位图笔刷路径-不是平滑路径,android,bitmap,android-canvas,surfaceview,Android,Bitmap,Android Canvas,Surfaceview,我想用透明画布和surfaceView开发一款游戏 我创建了一个屏幕大小的屏幕外位图(myCanvasBitmap) 每次,我都为该位图创建一个新画布 我使用drawBitmap()在位图上绘制 我使用drawBitmap()将位图复制到曲面 问题是,如果我画“快”(快速移动手指),线条不一致-圆圈位图彼此距离太远。 但当我画“慢”的时候,圆圈位图就很接近了 快速: (oooooooouuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuo)
public class SurfaceMyPaint extends SurfaceView implements Runnable
{
Thread t;
SurfaceHolder holder;
Bitmap brush,myCanvasBitmap;
boolean isItOk = false;
public SurfaceMyPaint(Context context)
{
super(context);
holder = getHolder();
initial();
}
public void initial()
{
brush= BitmapFactory.decodeResource(getResources(), R.drawable.brush2);
}
public boolean onTouchEvent(MotionEvent event)
{
if(event.getAction()== MotionEvent.ACTION_DOWN)
{
x= event.getX();
y= event.getY();
}
if(event.getAction()== MotionEvent.ACTION_MOVE)
{
x = event.getX();
y= event.getY();
}
return true;
}
public void run()
{
while (isItOk == true)
{
if (!holder.getSurface().isValid())
continue;
myCanvas_w = getWidth();
myCanvas_h = getHeight();
if (myCanvasBitmap== null)
{myCanvasBitmap= Bitmap.createBitmap(myCanvas_w, myCanvas_h, Bitmap.Config.ARGB_8888);}
Canvas c = new Canvas(myCanvasBitmap);
canvas = holder.lockCanvas(null);
c.drawBitmap(brush, x - (brush.getWidth() / 2), y - (brush.getWidth() / 2), null);
canvas.drawBitmap(myCanvasBitmap, 0, 0, null);
holder.unlockCanvasAndPost(canvas);
}
}}