Капсула из набора рисунков в трансформируемый объект на холсте html - PullRequest
0 голосов
/ 29 апреля 2020

Можно ли капсулировать набор рисунков в трансформируемый объект на холсте 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();}
}
...