2014-01-31 2 views
0

Я работаю над инструментом рисования с кинетическим JS. Существует проблема. Я не могу очистить часть слоя. Алгоритм рисования: нарисуйте линию, используйте резину для очистки, а затем продолжите рисование. И тогда все чистые части слоя исчезают. Они полны, как перед использованием резины.Как очистить часть слоя с помощью KineticJS?

Demo

Code: erase

Code: draw

ответ

0

layer.clear (х, у, ширина, высота) будет очистить холст с помощью context.clearRect (х, у, ширина, высота).

Но помните, что кинетические объекты сохраняются, поэтому любые объекты ранее на этом холсте будут автоматически перерисовываться.

Вот почему ваш холст снова заполняется даже после слоя.

+0

Я понял это. Что мне делать? – ReklatsMasters

+0

Ну, не пересматривая почти 500 строк кода (!), Вы можете .hide() объект, который делает вашу временную резиновую ленту, когда выполняется резиновое переплетение. (Я думаю, я вижу, что это Kinetic.Line называется ._node) – markE

+0

Я могу попытаться создать объект Kinetic.Clear (Kinetic.Erase), который будет содержать очищенные области. Я думаю, что так будет даже лучше. – ReklatsMasters

Смежные вопросы