Удаление объектов из слоя с помощью KineticJS

В настоящее время я работаю над проектом с участием KineticJS.

Мне нужно динамически создавать и удалять фигуры постоянно, но не могу понять, как это сделать. Я пытался сделать:

 $ myLayer.remove(myShape)

потому что это то, что рекомендуют большинство должностей. Но в документации говорится, что это удалит слой со сцены, а не форму из слоя. Когда я пробую это в проекте, он фактически удаляет слой со сцены.

Так что я делаю что-то неправильно или есть какой-то другой способ удалить фигуру из слоя?

Ответы

Ответ 1

Есть две функции, которые могут быть полезны.

  • childContainer.remove() удаляет дочерний контейнер из родителя.
  • parentContainer.removeChildren() удаляет всех детей из этого контейнера.

Изменить. Это также относится к фигурам. Просто перерисуйте слой.

myShape.remove();
myLayer.draw();

Ответ 2

Где-то между Kinetic 4.0 и последней версией remove (child) перестала работать. removeChild (child) тоже не работает.

Я решил эту проблему, используя child.remove();

Ответ 3

U может использовать прототип кинетической функции

Kinetic.Node.prototype.remove.call(removed_object);

baselayer.draw();