0
オブジェクトをアニメーション化しようとしています。オブジェクトを描画するにはキャンバスを使用する必要があります。私はonDraw関数からのみオブジェクトコンストラクタにキャンバスを送ることができます。しかし、これを行うと、アニメーションのすべてのステップで新しいオブジェクトが作成されます。onDraw関数からキャンバスをオブジェクトに送る方法は?
public class DrawView extends View {
public static Paint paint;
public DrawView(Context context) {
super(context);
paint = new Paint();
paint.setColor(Color.BLACK);
}
@Override
public void onDraw(Canvas canvas) {
Line s = new Line(10, 10, canvas);
super.onDraw(canvas);
s.move();
invalidate();
}
}
class Line{
private float x, y;
private Canvas canvas;
public Line(float x, float y, Canvas canvas) {
this.x = x;
this.y = y;
this.canvas = canvas;
}
public void move(){
draw();
x++;
y++;
}
public void draw(){
canvas.drawLine(x, y, x + 5, y + 5, DrawView.paint);
}
}