ビットマップをX、Yから新しいX'、Y'に移動し、アニメートしたいと思います。アクティビティの内部クラスとしてSurfaceViewがあり、そのSurfaceViewはスレッドとして実行されており、キャンバス上のすべての描画を処理しています。
スレッドのrunメソッドは次のとおりです。
public void run()
{
while(threadOk == true)
{
if(!holder.getSurface().isValid())
continue;
Canvas canvas = null;
try
{
canvas = holder.lockCanvas();
letsDraw(canvas);
}
finally
{
if (canvas != null)
{
holder.unlockCanvasAndPost(canvas);
}
}
}
}
そして、ここにletsDraw(Canvas canvas)
方法があります:
public void letsDraw(Canvas canvas)
{
canvas.drawARGB(255, 0, 102, 0);
canvas.drawBitmap(card.getPic(), card.getX(), card.getY(), null);
}
はcard
カスタムクラスのインスタンスですCard(Bitmap pic, float X, float Y)
。問題は、私はこの状況にどのように取り組むかを知っているということです。ビットマップを数ピクセル「シフト」し、その間にアニメーション化したい。