Atari123
@Atari123

Как удалить элемент с поля?

Имеется такой код, который ставит на поле камень (термин Го), код справляется отлично, но появилась потребность удалить этот камень (термин Го) с поля, как это можно реализовать?
Но чтобы после удаления не стереть часть поля под камнем.
ctx.beginPath();
      ctx.moveTo(140, 140);
      ctx.arc(140, 140, 18.5, 0, 2 * Math.PI);
      ctx.stroke();
      ctx.fill();

5dea824430446434054773.jpeg
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
JRK_DV
@JRK_DV
Рецепты https://codepen.io/jrkdv/full/LKLXdq
никак, перерисуйте канвас без камня
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@UnformedVoid
Разработчик ПО
Вы пользуетесь канвасом как хранилищем состояния — это императивный подход и от этого неудобный. Это как с JQuery, только хуже, потому что тут у вас нет селекторов. Вы не должны опираться на то, что нарисовано на канвасе. Ваш канвас должен служить просто представлением. Вынесите все ваши данные в JS в качестве массива или объекта — как вам удобно. Далее напишите код, который будет перерисовывать ваш канвас при изменении состояния. Есть два способа решать проблемы: первый — тот, которым вы пытались решить вопрос — прямой способ, второй способ — это поменять задачу так, чтоб в новом контексте проблема стала невозможной, бессмысленной, в общем перестала существовать. Если вы вынесите всю логику в JS, то вопроса «как удалить» у вас не останется.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы