Можно ли капсулировать набор рисунков в трансформируемый объект на холсте HTML? Например, у меня есть функция рисования, подобная этой:
let drawObject = (x, y) => {
ctx.fillStyle = 'red';
ctx.beginPath();
ctx.arc(x, y, 50, 0, 2 * Math.PI);
ctx.stroke();
ctx.fill();
ctx.strokeStyle = 'white';
ctx.beginPath();
ctx.arc(x, y, 50, 0, 2 * Math.PI);
ctx.stroke();
}
Теперь я хочу перевести этот объект, отправив новые x
и y
в эту функцию без очистки всего холста. Это означает, что я хочу, чтобы другие нарисованные элементы на холсте оставались нетронутыми.
Я ожидаю решения, подобного этому, как в синтаксисе java
:
class MyObject implements Canvas.Drawable {
int x;
int y;
Context ctx;
MyObject(Context ctx, int x, int y) {this.ctx = ctx; update(x, y);}
@Override
void draw() {...}
void update(int x, int y) {this.x = x; this.y = y; draw();}
}