Очистка холста приводит к тому, что старое содержимое вновь появляется на следующем тираже - PullRequest
0 голосов
/ 25 февраля 2011

У меня есть кнопка очистки, которая, кажется, работает .. но на самом деле это не так. Когда я снова нажимаю на холст, я вижу рисунок.

1 Ответ

2 голосов
/ 25 февраля 2011

Нет проблем в том, как вы очищаете холст, проблема заключается в вашей логике.

Каждый раз, когда вы click или двигаете мышь, вызывается метод addClick, который заполняет массивыclickX, clickY и clickDrag с координатами;и затем вызывается метод redraw, который отображает точки на canvas.

Поэтому, когда вы очищаете canvas, вы не можете сбросить эти массивы, поэтому, когда вызывается метод redrawснова (после очистки холста), старые точки также отображаются на графике.

Поэтому попробуйте очистить массивы clickX, clickY и clickDrag, как показано ниже, когда вы очистите canvas;так что старые точки не учитываются при запуске заново.

clickX = [];
clickY = [];
clickDrag = [];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...